giải pháp MVVM:
Bind các ItemsSource
và SelectedItem
thuộc tính của ComboBox
để tài sản trong ViewModel của bạn:
<ComboBox ItemsSource="{Binding MyItems}" SelectedItem="{Binding MySelectedItem}"/>
Trong MainViewModel.cs:
public ObservableCollection<string> MyItems { get; set; }
private string _mySelectedItem;
public string MySelectedItem
{
get { return _mySelectedItem; }
set
{
// Some logic here
_mySelectedItem = value;
}
}
số- đằng sau giải pháp:
Nếu bạn không muốn sử dụng MVVM, bạn có thể thêm sử dụng này:
<ComboBox SelectionChanged="ComboBox_SelectionChanged" />
Và thêm này trong MainWindow.xaml.cs:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Some logic here
}
tôi đã thử cách này nhưng không kích hoạt sự kiện đã thay đổi lựa chọn. – Tanya
Bạn đã kiểm tra điều này như thế nào? Bạn không nên đăng ký một sự kiện kiểm soát trong trường hợp này – sll
Nó không phải là để kích hoạt sự kiện, vì logic xảy ra khi 'MySelectedItem' thay đổi giá trị thay thế. Tôi đã cập nhật câu trả lời của tôi với một trình xử lý sự kiện, nếu bạn muốn sử dụng nó để thay thế. – snurre