我有一个带有 Window 的 WPF 应用程序,并且不同的 UserControls 一一显示在其中,无需单击按钮。
我从文件中导入数据,所有数据都存储在一个公共对象“ImportExportData”中。所有用户控件都绑定到 ImportExportData 类的相应属性(作为自定义对象,如 Data1、Data2...)。
在我的 USerControl 中,我有 NumberZones 属性的组合框,这些 SelectionChanged 事件分别被处理。在此组合框的 SelectionChanged 事件中,根据选择的数量,将许多行添加到 Data2 属性的 ObservableCollection。
在导入数据并将导入的对象 (Data2) 设置为 USerControl2 的 DataContext 时,它将 NumberZones 属性值设置为相应的组合框,并且按应有的方式触发 SelectionChanged 事件。此时,对象已经在 ObservableCollection 中包含 reqd 行,此事件不应添加它。
父窗口有一个标志“importedData”,告诉我该对象已导入。但是一旦加载了 UserContrl2,我就不能让它为假,因为它们是他们的 UC,将跟随 UC2。在 UC2 中,我可以创建另一个标志“正在导入”,并在加载所有 UI 后将其设为 false。通过哪个 UC 事件,我可以知道 UI 已加载,从而使“导入”为假?
我想知道如何避免在导入的对象填充 UI 组件时触发 SelectionChanged 事件。在这种情况下,UserControl 的哪个事件可能会帮助我在 USerControl2 中保留一个标志。
任何想法,请提出建议。