MultiDataTrigger 클래스

정의

바인딩된 데이터가 조건 집합에 맞을 때 속성 값을 적용하거나 작업을 수행하는 트리거를 나타냅니다.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 개체 속성을 가질 NameState입니다.Place objects have properties Name and State. 정의 PlacePlaces 표시 되지 않습니다.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 있는지를 지정 합니다 NameStatePlace 데이터 항목은 PortlandOR 각각의 배경을 해당 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. Setter를 사용할 수 있습니다 또는 EnterActionsExitActions 속성 변경 내용을 적용 하거나 모든 조건이 충족 되 면 작업을 시작 합니다.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 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the MultiDataTrigger class.

속성

Conditions

Condition 개체의 컬렉션입니다.Gets a collection of Condition objects. 컬렉션의 모든 조건이 충족되면 속성 값의 변경 내용이 적용됩니다.Changes to property values are applied when all the conditions in the collection are met.

DependencyObjectType

이 인스턴스의 CLRCLR 형식을 래핑하는 DependencyObjectType을 가져옵니다.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(다음에서 상속됨 DependencyObject)
Dispatcher

Dispatcher와 연결된 DispatcherObject를 가져옵니다.Gets the Dispatcher this DispatcherObject is associated with.

(다음에서 상속됨 DispatcherObject)
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.

(다음에서 상속됨 TriggerBase)
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.

(다음에서 상속됨 TriggerBase)
IsSealed

이 인스턴스가 현재 봉인되어 있는지(읽기 전용인지) 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this instance is currently sealed (read-only).

(다음에서 상속됨 DependencyObject)
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.

메서드

CheckAccess()

호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다.Determines whether the calling thread has access to this DispatcherObject.

(다음에서 상속됨 DispatcherObject)
ClearValue(DependencyProperty)

속성의 로컬 값을 지웁니다.Clears the local value of a property. 지울 속성이 DependencyProperty 식별자에서 지정됩니다.The property to be cleared is specified by a DependencyProperty identifier.

(다음에서 상속됨 DependencyObject)
ClearValue(DependencyPropertyKey)

읽기 전용 속성의 로컬 값을 지웁니다.Clears the local value of a read-only property. 선언할 속성이 DependencyPropertyKey에서 지정됩니다.The property to be cleared is specified by a DependencyPropertyKey.

(다음에서 상속됨 DependencyObject)
CoerceValue(DependencyProperty)

지정된 종속성 속성의 값을 강제 변환합니다.Coerces the value of the specified dependency property. 호출하는 DependencyObject에 있으므로 이 작업은 종속성 속성의 속성 메타데이터에 지정된 CoerceValueCallback 함수를 호출하여 수행합니다.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(다음에서 상속됨 DependencyObject)
Equals(Object)

제공된 DependencyObject가 현재 DependencyObject에 해당하는지 여부를 확인합니다.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(다음에서 상속됨 DependencyObject)
GetHashCode()

DependencyObject의 해시 코드를 가져옵니다.Gets a hash code for this DependencyObject.

(다음에서 상속됨 DependencyObject)
GetLocalValueEnumerator()

DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(다음에서 상속됨 DependencyObject)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
GetValue(DependencyProperty)

DependencyObject의 인스턴스에서 종속성 속성의 현재 유효 값을 반환합니다.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(다음에서 상속됨 DependencyObject)
InvalidateProperty(DependencyProperty)

지정된 종속성 속성의 유효 값을 다시 계산합니다.Re-evaluates the effective value for the specified dependency property.

(다음에서 상속됨 DependencyObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
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.

(다음에서 상속됨 DependencyObject)
ReadLocalValue(DependencyProperty)

종속성 속성의 로컬 값을 반환합니다(있는 경우).Returns the local value of a dependency property, if it exists.

(다음에서 상속됨 DependencyObject)
SetCurrentValue(DependencyProperty, Object)

해당 값 소스를 변경하지 않고 종속성 속성의 값을 설정합니다.Sets the value of a dependency property without changing its value source.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

지정된 종속성 속성 식별자를 가진 종속성 속성의 로컬 값을 설정합니다.Sets the local value of a dependency property, specified by its dependency property identifier.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyPropertyKey, Object)

종속성 속성의 DependencyPropertyKey 식별자에 의해 지정된 읽기 전용 종속성 속성의 로컬 값을 설정합니다.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(다음에서 상속됨 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

serialization 프로세스에서 지정된 종속성 속성의 값을 직렬화해야 하는지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(다음에서 상속됨 DependencyObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
VerifyAccess()

호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다.Enforces that the calling thread has access to this DispatcherObject.

(다음에서 상속됨 DispatcherObject)

명시적 인터페이스 구현

IAddChild.AddChild(Object)

자식 개체를 추가합니다.Adds a child object.

IAddChild.AddText(String)

노드의 텍스트 콘텐츠를 개체에 추가합니다.Adds the text content of a node to the object.

적용 대상

추가 정보