rozwiązanie MVVM:
Powiąż ItemsSource
i SelectedItem
właściwości ComboBox
do właściwości w Twojej ViewModel:
<ComboBox ItemsSource="{Binding MyItems}" SelectedItem="{Binding MySelectedItem}"/>
W MainViewModel.cs:
public ObservableCollection<string> MyItems { get; set; }
private string _mySelectedItem;
public string MySelectedItem
{
get { return _mySelectedItem; }
set
{
// Some logic here
_mySelectedItem = value;
}
}
Code za rozwiązaniem:
Jeśli nie chcesz korzystać z MVVM, można dodać użyj:
<ComboBox SelectionChanged="ComboBox_SelectionChanged" />
i dodać w MainWindow.xaml.cs:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Some logic here
}
Próbowałem tego, ale nie wyzwalałem zdarzenia zmiany selekcji. – Tanya
Jak to sprawdzić? Nie powinieneś zasubskrybować zdarzenia kontrolnego w tym przypadku. – sll
Nie powinno się uruchamiać zdarzenia, ponieważ logika dzieje się, gdy zamiast tego 'MySelectedItem' zmienia wartość. Zaktualizowałem swoją odpowiedź za pomocą funkcji obsługi zdarzeń, jeśli chcesz zamiast tego użyć tego. – snurre