c# - 在 UserControls 之间共享数据的最佳实践
问题描述
TLDR:
基本上,我希望能够知道 CheckBox 何时在嵌入式 UserControl 中被选中。
问题:
我有一个用于我的应用程序设置的 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;
}
}
问题是,如果您单击另一个部分,它不会记住上一部分的设置,我需要包含 UserControls 部分的主 UserControl 来了解已输入的数据。
创建这样的东西的最佳实践是什么?如何让设置 UserControl 与 UserControls 部分通信?
例如,如果用户在 Network 部分输入 IP 地址,我需要 Settings UserControl 能够知道该信息以保存它并在用户返回该部分时再次显示它。
谢谢!
解决方案
推荐阅读
- php - Lavavel 迁移在具有 MySQL RDS DB 的 LAMP AWS 实例中不起作用 --> SQLSTATE[HY000] [2002] 连接超时
- ruby-on-rails - RM 使用 Rails 复制 JSON 数据
- perl - 如何根据特定字符串匹配正确的哈希对?
- c++ - 用一个功能打印出最大值和平均值
- ngrx-store-8.0 - 我无法使用 ngrx 显示单个实体对象
- python - 如何根据字段值更改 django 管理员权限?
- python - 如何仅给定长度递归地构建列表?
- ruby-on-rails - Rails:条件图像链接
- intellij-idea - 在 IntelliJ 窗口中显示文档窗格
- php - 准备好的语句可以在php中保存多个查询吗