WPF:仅当列表框中的一项被选中时启用按钮



我对WPF很陌生,所以请原谅我一个原始的问题。我已经研究了类似的问题,如何启用按钮,只有当一个项目是通过绑定在ListBox中选择,但我的情况有点复杂。

  1. 如果列表框中的所有项都未被选中,则需要禁用该按钮。
  2. 当选择列表框中的一个项目时,需要启用该按钮。
  3. 当选择列表框中的多个项目时,需要禁用此按钮。

换句话说,只有当用户在列表框中选择了一个项目时,它才应该被启用。

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>

最新更新