Вы можете использовать DataTrigger
, чтобы отключить его при нулевом значении.
например. (ListView
назван lv
)
<Button Content="Lorem Ipsum">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem, ElementName=lv}"
Value="{x:Null}">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Кроме того, вы можете напрямую связать свойство IsEnabled
и добавить Converter
к привязке, которая возвращает соответствующее значение типа bool.
Пример для очистки выбора:
<Button Content="!">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="lv"
Storyboard.TargetProperty="SelectedItem">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Null}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>