我有一个WPF应用程序与一个窗口和不同的UserControls显示在它一个接一个没有按钮点击。WPF C#如何避免导入事件消息?
我从一个文件导入数据,所有数据都存储在一个公共对象“ImportExportData”中。所有UserControl都绑定到ImportExportData类的相应Property(如自定义对象,如Data1,Data2 ...)。
在我的USerControl中,我有组合框的NumberZones proeprty分别处理这些SelectionChanged事件。在此组合框的SelectionChanged事件中,根据选定的数量将许多行添加到Data2属性的ObservableCollection中。
在导入数据并将导入的对象(Data2)设置为USerControl2的DataContext时,它将NumberZones属性值设置为相应的组合框,并且SelectionChanged事件被触发。此时,该对象已经包含ObservableCollection中的reqd行,并且此事件不应添加它。
PArent窗口有一个标志“importedData”,告诉我该对象已导入。但是一旦UserContrl2被加载,我无法做到这一点,因为他们的UC将遵循UC2。在UC2中,我可以创建另一个标志“导入”,并在所有用户界面加载后都将其设为假。通过哪个UC事件我可以知道UI已加载,从而使“导入”为false?
我想知道如何避免在导入的对象填充UI组件时触发SelectionChanged事件。在这种情况下,UserControl的哪个事件可以帮助我在USerControl2中保留一个标志。
任何想法,建议请。
你使用mvvm还是在代码后面做事? – Nitin
mvvm。在构造函数中设置UserControl的DataContext。 – Tvd