TLDR:
基本上,我想知道何时在嵌入式UserControl中选中了CheckBox。
问题:
我有一个用于应用程序设置的UserControl。设置UserControl上有属于自己的单独UserControl的部分(硬件设置,网络设置等)。
设置UserControl的每个部分都有一个ListBox,还有一个网格,当单击该网格时可以显示每个节的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;
}
}
问题在于,如果您单击另一部分,它将不记得上一部分的设置,而我需要容纳该部分UserControls的主UserControl才能知道输入的数据。
创建这样的东西的最佳实践是什么,如何让UserControl的设置与UserControls部分通信?
例如,如果用户在“网络”部分中输入IP地址,则我需要设置UserControl能够知道要保存的信息,并在用户返回该部分时再次显示。
谢谢!