MultiDataTrigger.Setters 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 Setter 对象的集合,这些对象描述在满足 MultiDataTrigger 的所有条件时应用的属性值。
public:
property System::Windows::SetterBaseCollection ^ Setters { System::Windows::SetterBaseCollection ^ get(); };
public System.Windows.SetterBaseCollection Setters { get; }
member this.Setters : System.Windows.SetterBaseCollection
Public ReadOnly Property Setters As SetterBaseCollection
属性值
Setter 对象的集合。 默认值为空集合。
示例
在下面的示例中ItemsSource, 的 ListBox 属性绑定到 Places
对象的 。ObservableCollection<T>Place
Place
对象具有 属性 Name
和 State
。 和 的定义Place
Places
不显示。
每个 ListBoxItem 都 ListBox 显示一个 Place
对象。
Style示例中的 应用于每个 ListBoxItem。 的ConditionMultiDataTrigger元素指定,如果Name
数据项Portland
的 Place
和 State
分别为 和OR
,则相应的 ListBoxItem 背景设置为 Cyan
。
请注意, <MultiDataTrigger.Setters>
是隐式的。
<Window.Resources>
<c:Places x:Key="PlacesData"/>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=State}" Value="WA">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Name}" Value="Portland" />
<Condition Binding="{Binding Path=State}" Value="OR" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Cyan" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
<DataTemplate DataType="{x:Type c:Place}">
<Canvas Width="160" Height="20">
<TextBlock FontSize="12"
Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>
<TextBlock FontSize="12" Width="30"
Canvas.Left="130" Text="{Binding Path=State}"/>
</Canvas>
</DataTemplate>
</Window.Resources>
<StackPanel>
<TextBlock FontSize="18" Margin="5" FontWeight="Bold"
HorizontalAlignment="Center">Data Trigger Sample</TextBlock>
<ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
ItemsSource="{Binding Source={StaticResource PlacesData}}"/>
</StackPanel>
注解
MultiDataTrigger 使你能够使用 EnterActions 或 ExitActions 属性启动操作,或者在绑定的数据满足一组条件时使用 Setter 对象来设置属性值。
如果相同或不同的 setter 集合中有两个 Setter 对象设置了同一属性, Setter 则使用最后声明的 。
Setter向 对象添加子MultiDataTrigger级会将其隐式添加到 对象的 。SetterBaseCollectionMultiDataTrigger EventSetter 不支持 对象;仅 Style.Setters 支持 EventSetter 对象。
XAML 属性元素用法
<object>
zeroOrMoreSetters
</object>
XAML 值
zeroOrMoreSetters
零个或多个 Setter 对象。