У меня есть приложение WPF, где я устанавливаю некоторые comboboxes в конструкторе ViewModel. Я заполняю comboboxes, а затем настраиваю 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 при загрузке представления.
Любая помощь приветствуется.
Cheers.
Noel
Я думал о просмотре изменений в свойстве SelectedCar, но думал, что у меня просто отсутствует что-то, что может легко предотвратить запуск EventHandler. Я буду использовать свойство SelectedCar для проверки изменений. Приветствия. – Nollaig