【发布时间】:2011-12-21 13:52:42
【问题描述】:
我有一个定义了 DataTemplate、Style 和 ItemContainerStyle 的列表框。
此列表框有 SelectionMode="Single"。
Initially all Items have Opacity="0.7", when Item selected I make it Opacity="1"
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Style.Setters>
<Setter Property="Opacity" Value="0.7"/>
</Style.Setters>
<Style.Triggers>
<DataTrigger Binding="{Binding IsEventLocked}" Value="False">
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="Opacity" Value="0.2"/>
</DataTrigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Opacity" Value="1"/>
</Trigger>
</Style.Triggers>
</Style>
但我还需要使用Opacity="0.2" 制作所有其他(未选择的)项目,直到选择的项目将被取消选择。
简而言之:[Initial (Opacity=0.7)]->[ItemSelected = {(SelectedItem:Opacity=1), (All Unselected items: Opacity=0.2)}]->[Item Deselected (SelectedItem==null) =(不透明度=0.7)]
感谢您的意见和想法!
【问题讨论】:
标签: wpf xaml triggers listbox styles