TLDR:
По сути, я хочу знать, когда CheckBox проверяется во встроенном UserControl.
Вопрос:
У меня есть UserControl для настроек моего приложения. В настройках UserControl есть разделы («Настройки оборудования», «Настройки сети» и т. Д.), Которые являются собственными отдельными пользовательскими элементами управления.
В настройках UserControl есть ListBox с каждым разделом и Grid для отображения UserControl каждого раздела при нажатии:
<ListBox x:Name="SettingsListBox" SelectionChanged="SettingsListBox_SelectionChanged">
<ListBoxItem>Hardware</ListBoxItem>
<ListBoxItem>Network</ListBoxItem
</ListBox>
<Grid x:Name="SettingsSectionGrid" />
Я назначаю каждый раздел следующим образом:
private void SettingsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) {
// Clear the grid
SettingsSectionGrid.Children.Clear();
switch (SettingsListBox.SelectedIndex) {
// Hardware
case 0:
SettingsSectionGrid.Children.Add(new HardwareSection());
break;
// Network
case 0:
SettingsSectionGrid.Children.Add(new NetworkSection());
break;
// Hardware by default
default:
SettingsSectionGrid.Children.Add(new HardwareSection());
break;
}
}
Проблема в том, что если вы щелкнете по другому разделу, он не запомнит настройки из предыдущего раздела, и мне нужен основной UserControl, в котором находится раздел UserControls, чтобы знать введенные данные.
Как лучше всего создать что-то подобное и как мне настроить параметры, которые UserControl связывает с разделом UserControls?
Например, если пользователь вводит IP-адрес в разделе «Сеть», мне нужно, чтобы в настройках UserControl этой информации была возможность узнать эту информацию, чтобы сохранить ее и представить снова, если пользователь вернется в этот раздел.
Спасибо!