WPF: enabling button only if one item in ListBox is selected
WPF: enabling button only if one item in ListBox is selected
我是 WPF 的新手,所以请原谅我一个原始的问题。我研究过类似的问题,关于如何仅在通过绑定在 ListBox 中选择一个项目时启用按钮,但我的情况有点复杂。
- 如果选择了 ListBox 中的 none 个项目,则需要禁用该按钮。
- 如果选择了列表框中的一项,则需要启用该按钮。
- 如果选择了列表框中的多个项目,则需要禁用该按钮。
换句话说,只有当用户在列表框中选择一项时才应该启用它。
我尝试了什么:
<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>
我是 WPF 的新手,所以请原谅我一个原始的问题。我研究过类似的问题,关于如何仅在通过绑定在 ListBox 中选择一个项目时启用按钮,但我的情况有点复杂。
- 如果选择了 ListBox 中的 none 个项目,则需要禁用该按钮。
- 如果选择了列表框中的一项,则需要启用该按钮。
- 如果选择了列表框中的多个项目,则需要禁用该按钮。
换句话说,只有当用户在列表框中选择一项时才应该启用它。
我尝试了什么:
<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>