我对WPF很陌生,所以请原谅我一个原始的问题。我已经研究了类似的问题,如何启用按钮,只有当一个项目是通过绑定在ListBox中选择,但我的情况有点复杂。
- 如果列表框中的所有项都未被选中,则需要禁用该按钮。
- 当选择列表框中的一个项目时,需要启用该按钮。
- 当选择列表框中的多个项目时,需要禁用此按钮。
换句话说,只有当用户在列表框中选择了一个项目时,它才应该被启用。
What I tried:
<Button Click="EditSingleEntryButton_Click">Edit selected
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=entriesListBox, Path=SelectedItems.Count}"
Value="0">
<Setter Property="Button.IsEnabled" Value="true"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
然而,这不起作用-按钮一直处于启用状态。
你需要给你的样式添加一点:
<Button Click="EditSingleEntryButton_Click">Edit selected
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=entriesListBox, Path=SelectedItems.Count}"
Value="1">
<Setter Property="IsEnabled" Value="true"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>