我有一個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