MultiDataTrigger.Setters Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает коллекцию объектов 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 свойство объекта привязывается к Places
объекту объекта Place
ObservableCollection<T> .ListBox
Place
Объекты имеют свойства Name
и State
. Определение Place
и Places
не отображается.
Каждый из ListBoxItemListBox отображает Place
объект . В Style примере применяется к каждому ListBoxItemобъекту . Элементы ConditionMultiDataTrigger указывают, что если Name
и State
Place
элемента данных имеют значение Portland
и 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 элемента к объекту MultiDataTrigger неявно добавляет его в SetterBaseCollection для MultiDataTrigger объекта . EventSetterобъекты не поддерживаются; поддерживает EventSetter только Style.Setters объекты.
Использование элемента свойства XAML
<object>
zeroOrMoreSetters
</object>
Значения XAML
zeroOrMoreSetters
Ноль или несколько Setter объектов.