我有一个相当经典的UI情况 - 两个ListBoxes命名SelectedItems和AvailableItems- 这个想法是你已经选择SelectedItems的项目存在,而可用于添加的项目SelectedItems(即每个尚未存在的项目)都存在AvailableItems.
此外,我有<和>按钮将当前选择从一个列表移动到另一个列表(除了双击,它工作正常).
是否可以在WPF中设置样式/触发器以启用或禁用移动按钮,具体取决于在ListBox中选择的任何内容?SelectedItems在左侧,因此<按钮会将所选内容移动AvailableItems到该列表.但是,如果没有选择任何项目(AvailableItems.SelectedIndex == -1),我希望禁用此按钮(IsEnabled == false) - 而另一个列表/按钮则相反.
这可以直接在XAML中完成,还是需要在代码隐藏中创建复杂的逻辑来处理它?
Kar*_*las 76
更少代码解决方案
<Button Name="button1" IsEnabled="{Binding ElementName=listBox1, Path=SelectedItems.Count}" />
Run Code Online (Sandbox Code Playgroud)
如果count为0,似乎映射为false,> 0为true.
小智 45
这是你的解决方案.
<Button Name="btn1" >click me
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding ="{Binding ElementName=list1, Path=SelectedIndex}"
Value="-1">
<Setter Property="Button.IsEnabled" Value="false"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23563 次 |
| 最近记录: |