Does anyone know if and how one can disable items in a databound ListBox
based on the value of a property?
Preferably I would like a DataTrigger
which, when a certain property is false
, disables this item (make it impossible to select) without affecting other items in the ListBox
.
<ListBox> <ListBox.ItemTemplate> <DataTemplate> <TextBlock Name="textBlock" Text="{Binding Description}"/> <DataTemplate.Triggers> <DataTrigger Binding="{Binding IsEnabled}" Value="False"> ?? </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
You can use ItemContainerStyle:
<ListBox> <ListBox.ItemContainerStyle> <Style TargetType="{x:Type ListBoxItem}"> <Style.Triggers> <DataTrigger Binding="{Binding YourPropertyName}" Value="False"> <Setter Property="IsEnabled" Value="False"/> </DataTrigger> </Style.Triggers> </Style> </ListBox.ItemContainerStyle> </ListBox>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With