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объекту PlaceObservableCollection<T>.ListBox
Place объекты имеют свойства Name и State. Определение Place и Places не отображается.
Каждый из ListBoxItem них ListBox отображает Place объект. В Style примере применяется к каждому ListBoxItem. Элементы Condition указанного MultiDataTrigger параметра указывают, что если NamePlaceState элемент данных и OR элемент данных совпадаютPortland, то для соответствующего 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позволяет запускать действия с помощью или ExitActions свойства или задавать значения свойств с EnterActions помощью Setter объектов, когда привязанные данные соответствуют набору условий.
Если в одной или разных коллекциях наборов одного и того же свойства имеются два Setter объекта, Setter то используется последнее объявление.
Setter Добавление дочернего MultiDataTrigger объекта в объект неявно добавляет его в SetterBaseCollectionMultiDataTrigger объект. EventSetterобъекты не поддерживаются; поддерживает EventSetter только Style.Setters объекты.
Использование элемента свойства XAML
<object>
zeroOrMoreSetters
</object>
Значения XAML
zeroOrMoreSetters Ноль или больше Setter объектов.