Как изменить статус флажка и изменить значение текстового блока уже открытого родительского окна - PullRequest
0 голосов
/ 11 сентября 2011

Я занимаюсь разработкой приложения на C # под WPF. Я хочу изменить статус флажка, а также мне нужно изменить значение текстового блока уже открытого окна из текущей работающей операции с окнами и обновить это открытое окно этими изменения (обновить уже открытое окно с некоторыми обновлениями).

1 Ответ

1 голос
/ 11 сентября 2011

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

Что касается флажка, объявленного как

<CheckBox Name="chkA"> Checkbox A </CheckBox>

вы можете изменить его «проверенное состояние» из кода через

chkA.IsChecked = true; 

Что касается обновления окна diffenet - ваши Windows в WPF - это просто классы, часть которых обычно находится в файле * .xaml, а другая - в соответствующем файле * .cs.

Если вы объявляете публичный метод, который обновлял содержимое Windows так, как вы хотите, в своем классе второго окна, и, когда вы будете создавать второе окно, вы каким-то образом сохраняете ссылку на его экземпляр, доступный в первом классе ( или какую-то другую логику в вашем приложении), вы сможете просто вызвать этот метод из кода Windows 1, чтобы обновить внешний вид второй вдовы, как объявлено в вызываемом методе.

В основном из Windows1 вы звоните:

MySecondWindow secW = new MySecondWindow(); 

secW.Show();

....

secW.RefreshWithMyChages();

RefreshWithMyChages () - это просто открытый метод в коде класса вашего второго окна.

Все это верно, если:

  • оба ваших окна находятся в одном проекте
  • вы не желаете использовать MVVM или другие UI-шаблоны.
...