WPF - можно получить все элементы управления пользовательского интерфейса с их значениями - PullRequest
1 голос
/ 26 ноября 2009

Можно ли в WPF получить все элементы управления пользовательского интерфейса со своими значениями? В примере у меня есть какое-то окно с некоторыми текстовыми полями, а в другом окне я хочу получить введенные значения из текстовых полей первого окна или других элементов ввода. В WinForms это было что-то вроде: form.Controls;

Ответы [ 2 ]

2 голосов
/ 26 ноября 2009

Конечно, вы должны знать, какое свойство вы хотите, но вы можете проверить, хотя, вероятно, у вас должен быть какой-то шаблон ОО, заботящийся о поведении, вместо если каждый элемент управления

public string GetValue(Control x)
{
    if (x is TextBox) return ((TextBox) x).Text;
    if (x is ComboBox) return ((ComboBox)x).SelectedValue.ToString();
    if (x is Label) return ((Label)x).Content .ToString();
    //...
}


foreach (Control x in theGrid.Children)
{
      string field = GetValue(x);
    //[...]
}
0 голосов
/ 26 ноября 2009

Разве вы не можете просто назвать текстовые поля в первом окне и вытащить текстовое значение?

<!--textbox in window 1-->
<TextBox Name="myFirstTextBox>Hello</TextBox>

 <!--textbox in window 2-->
 <TextBox Name="mySecondTextBox></TextBox>


  //in your code behind, when second window opens
  mySecondTextBox.Text = myFirstTextBox.text;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...