MultiDataTrigger MultiDataTrigger MultiDataTrigger MultiDataTrigger Class

Определение

Представляет триггер, который применяет значения свойств или выполняет действия, если связанные данные соответствуют набору условий.Represents a trigger that applies property values or performs actions when the bound data meet a set of conditions.

public ref class MultiDataTrigger sealed : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
public sealed class MultiDataTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
type MultiDataTrigger = class
    inherit TriggerBase
    interface IAddChild
Public NotInheritable Class MultiDataTrigger
Inherits TriggerBase
Implements IAddChild
Наследование
Атрибуты
Реализации

Примеры

В следующем примере ItemsSource свойство ListBox привязан к Places, ObservableCollection<T> из Place объектов.In the following example, the ItemsSource property of the ListBox is bound to Places, an ObservableCollection<T> of Place objects. Place объекты обладают свойствами Name и State.Place objects have properties Name and State. Определение Place и Places не отображаются.The definition of Place and Places are not shown.

Каждый ListBoxItem из ListBox отображает Place объекта.Each ListBoxItem of the ListBox displays a Place object. Style В примере применяется к каждому ListBoxItem.The Style in the example is applied to each ListBoxItem. Condition Элементы MultiDataTrigger указывается, что при Name и State из Place данных элементов, Portland и OR соответственно, затем фона соответствующий ListBoxItem имеет значение Чтобы Cyan.The Condition elements of the MultiDataTrigger specify that if the Name and State of the Place data item are Portland and OR respectively, then the background of corresponding ListBoxItem is set to Cyan.

<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 объект подобен MultiTrigger, за исключением того, что условия MultiDataTrigger основаны на значения свойств связанных данных вместо тех, UIElement.A MultiDataTrigger object is similar to a MultiTrigger, except that the conditions of a MultiDataTrigger are based on property values of bound data instead of those of a UIElement. В MultiDataTrigger, условие выполняется, если значение свойства элемента данных соответствует указанным Value.In a MultiDataTrigger, a condition is met when the property value of the data item matches the specified Value. Затем можно использовать методы задания или EnterActions и ExitActions свойства, чтобы применить изменения или запуска действий, при соблюдении всех условий.You can then use setters or the EnterActions and ExitActions properties to apply changes or start actions when all of the conditions are met.

Setters Свойство MultiDataTrigger объект может состоять только из Setter объектов.The Setters property of a MultiDataTrigger object can only consist of Setter objects. Добавление Setter дочернего окна для MultiDataTrigger объект неявно добавляется в SetterBaseCollection для MultiDataTrigger объекта.Adding a Setter child to a MultiDataTrigger object implicitly adds it to the SetterBaseCollection for the MultiDataTrigger object. EventSetter объекты не поддерживаются; только Style.Setters поддерживает EventSetter объектов.EventSetter objects are not supported; only Style.Setters supports EventSetter objects.

Сведения об использовании триггеров и когда следует использовать другие функции, см. в разделе Общие сведения о шаблонах данных.For information about when to use triggers and when to use other techniques, see Data Templating Overview.

Конструкторы

MultiDataTrigger() MultiDataTrigger() MultiDataTrigger() MultiDataTrigger()

Инициализирует новый экземпляр класса MultiDataTrigger.Initializes a new instance of the MultiDataTrigger class.

Свойства

Conditions Conditions Conditions Conditions

Возвращает коллекцию объектов Condition.Gets a collection of Condition objects. Изменения значений свойств применяются, если соблюдаются все условия в коллекции.Changes to property values are applied when all the conditions in the collection are met.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

Возвращает DependencyObjectType, который создает обертку для типа CLRCLR данного экземпляра.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
EnterActions EnterActions EnterActions EnterActions

Получает коллекцию объектов TriggerAction, применяемую, когда срабатывает триггер.Gets a collection of TriggerAction objects to apply when the trigger object becomes active. Это свойство не применяется к классу EventTrigger.This property does not apply to the EventTrigger class.

(Inherited from TriggerBase)
ExitActions ExitActions ExitActions ExitActions

Получает коллекцию объектов TriggerAction, применяемую, когда объект триггера становится неактивным.Gets a collection of TriggerAction objects to apply when the trigger object becomes inactive. Это свойство не применяется к классу EventTrigger.This property does not apply to the EventTrigger class.

(Inherited from TriggerBase)
IsSealed IsSealed IsSealed IsSealed

Получает значение, указывающее, является ли этот экземпляр в данный момент запечатанным (доступным только для чтения).Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
Setters Setters Setters Setters

Возвращает коллекцию объектов Setter, описывающих значения свойств, которые должны применяться, если выполняются все условия объекта MultiDataTrigger.Gets a collection of Setter objects that describe the property values to apply when all the conditions of the MultiDataTrigger are met.

Явные реализации интерфейса

IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object)

Добавляет дочерний объект.Adds a child object.

IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String)

Добавляет текстовое содержимое узла в объект.Adds the text content of a node to the object.

Методы

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Очищает локальное значение свойства.Clears the local value of a property. Очищаемое свойство задается идентификатором DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

Очищает локальное значение свойства, доступного только для чтения.Clears the local value of a read-only property. Очищаемое свойство задается объектом DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

Приводит значение указанного свойства зависимостей.Coerces the value of the specified dependency property. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Получает хэш-код для данного объекта DependencyObject.Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

Повторно вычисляет действующее значение для указанного свойства зависимостейRe-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Конкретное свойство зависимости, которое изменилось, сообщается в данных события.The specific dependency property that changed is reported in the event data.

(Inherited from DependencyObject)
ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если таковое существует.Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не меняя источник значения.Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Применяется к

Дополнительно