Как отключить элемент списка ListBox на основе значения свойства?
Кто-нибудь знает, если и как можно отключить элементы в привязке данных ListBox
на основе значения свойства?
Желательно, чтобы a DataTrigger
, который, когда определенное свойство false
, отключает этот элемент (делает невозможным его выбор), не затрагивая другие элементы в 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>
Ответы
Ответ 1
Вы можете использовать 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>