У меня есть выпадающий список со списком флажков. Список создается динамически. Мне нужен чистый способ обработки изменений флажка.
WPF:
<ComboBox Margin="0,10,5,0" VerticalAlignment="Top" HorizontalAlignment="Stretch" Grid.Column="3" x:Name="cb_Filters" SelectionChanged="Cb_Filters_SelectionChanged" MaxDropDownHeight="250" >
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected}" Content="{Binding FilterOption}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
КОД
public class Filters {
public Filters()
{ }
public bool IsSelected { get; set; }
public string FilterOption { get; set; }
}
ObservableCollection<Filters> ListOfFilters = new ObservableCollection<Filters>
{
new Filters {IsSelected = true, FilterOption = "Suppliers"}
};
CollectionView collectionView = (CollectionView)CollectionViewSource.GetDefaultView(ListOfFilters);
cb_Filters.ItemsSource = collectionView;
TextSearch.SetTextPath(cb_Filters, "FilterOption");
Мой способ - создать тег для элемента, и найти его с помощью VisualTreeHelper, однако я не уверен, есть ли какой-нибудь более простой / понятный способ сделать это.
Спасибо