1
我有一個WPF應用程序,我正在ViewModel構造函數中設置一些組合框。 我填充組合框,然後設置CurrentChanged EventHandler,但每次視圖加載此事件被觸發。 我希望能夠阻止加載時觸發的CurrentChanged事件。WPF CollectionView.CurrentChanged在加載時觸發事件
這是我的ViewModel構造函數。
public MyViewModel()
{
this.Initialize();
carNames = new CollectionView(GetCarNames());//method that returns a List<string> collection
companyNames = new CollectionView(GetCompanyNames());//method that returns a List<string> collection
carNames.CurrentChanged += new EventHandler(carNames_CurrentChanged);
companyNames.CurrentChanged += new EventHandler(companyNames_CurrentChanged);
}
這裏是我的一個EventHandlers。
void carNames_CurrentChanged(object sender, EventArgs e)
{
if ((sender as CollectionView).CurrentItem != null)
{
//Do Something
}
}
最後這裏是我的組合框在我看來。
<ComboBox Margin="5"
SelectedValue="{Binding Path=SelectedCar}"
ItemsSource="{Binding carNames}"
IsSynchronizedWithCurrentItem="True"
x:Name="cmbCar" />
所以我的問題是!如何防止我的EventHandler在視圖加載時被觸發。
任何幫助表示讚賞。
乾杯。
諾埃爾
我在考慮關注SelectedCar屬性的變化,但認爲我錯過了一些可以輕鬆阻止EventHandler被解僱的事情。我將使用SelectedCar屬性來檢查更改。乾杯。 – Nollaig