2013-11-14 5 views
1

для начала я должен сказать, когда я не так хорош на английском, поэтому я сожалею о своих недостатках и грамматике. У меня есть легкое расписание, созданное из множества текстовых полей, которые находятся в групповой сетке. У меня есть один баттом, который служит для добавления текста в текстовые поля. Пользователь добавит текст в texbox, нажмет на кнопку (Create) и создаст полное расписание, что ему нужно. И есть проблема. Я мог бы сохранить все входные данные вручную в методе SaveState следующим образом: e.PageState["something"] = gui_Something.Text;, но у меня есть 3 сетки, где 40 текстовых полей ... Мне нужно каким-то образом сохранить все это одним способом или что-то в этом роде. Это похоже на поле, но это не так. В поле я могу сделать что-то вроде:Сетка, полная текстовых полей, C#, XAML

int[] field = new int[5]; 
     int some = 0; 
     for (int i = 0; i < field.Length; i++) 
     { 
      field[i] = some; 
      e.PageState["Something" + i] = gui_poznamky.Text; 
     } 

но моя сетка полна текстовых полей не поле XD

Может кто-нибудь помочь мне, пожалуйста? Я начинаю, я начал с программирования совсем недавно, поэтому иногда мне нужна помощь. Благодарим за ответы и снова прошу прощения за мой английский (:

+0

Узнайте MVVM, прежде чем вы когда-нибудь написать одну строку кода в WPF. –

+0

Или, по крайней мере, узнать WPF. в WPF мы манипулировать данными, а не интерфейса управления. Вместо создания 40 'вручную TextBox's в контейнерах «Grid», вы должны создать собственный класс для хранения ваших данных, а затем «привязать» его к элементу 'ItemsSource' элемента управления коллекции, чтобы отобразить его. Затем, добавив простой« DataTemplate », вы могли бы пусть WPF-генератор съел свой пользовательский интерфейс для вас. Наконец, чтобы сохранить все это, вы должны взглянуть на страницу [Использование настроек в C#] (http://msdn.microsoft.com/en-us/library/aa730869 (v = vs.80) .aspx) на странице MSDN. – Sheridan

+0

@Sheridan вот что я говорю о –

ответ

0

Вы можете попробовать что-то подобное, чтобы итератировать все элементы управления в сетке, а затем выполнить некоторую причудливую работу, чтобы найти, где данные каждого текстового поля должны быть сохранены ...

foreach (Control childCtrl in MainGrid.Children) 
{ 
    if (childCtrl is TextBox) 
    { 
     TextBox Txtbox = (TextBox)childCtrl; 
     Console.WriteLine("Found Textbox: " + Txtbox.Name); 
    } 
} 
Смежные вопросы