次の方法で共有


MultiDataTrigger クラス

定義

バインドされたデータが一連の条件を満たしたときに、プロパティ値を適用するかアクションを実行するトリガーを表します。

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
[<System.Windows.Markup.ContentProperty("Setters")>]
type MultiDataTrigger = class
    inherit TriggerBase
    interface IAddChild
Public NotInheritable Class MultiDataTrigger
Inherits TriggerBase
Implements IAddChild
継承
属性
実装

次の例では、 の ItemsSource プロパティは オブジェクトの ListBoxPlace の にObservableCollection<T>バインドされていますPlacesPlaceオブジェクトには、 プロパティと StateがありますName。 と PlacesPlace定義は表示されません。

ListBoxItem には ListBox 、 オブジェクトが Place 表示されます。 Styleこの例の は、各 ListBoxItemに適用されます。 の要素はCondition、データ項目の PlaceState がそれぞれ であるPortlandOR場合Name、対応する ListBoxItem の背景が にCyan設定されることを指定します。MultiDataTrigger

<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異なります。 では、 MultiDataTriggerデータ項目のプロパティ値が指定した と一致すると、条件が満たされます Value。 その後、セッターまたは プロパティと ExitActions プロパティを使用して、すべての条件がEnterActions満たされたときに変更を適用したり、アクションを開始したりできます。

オブジェクトの MultiDataTrigger プロパティはSetters、 オブジェクトのみで構成Setterできます。 オブジェクトに子をSetter追加すると、 MultiDataTrigger オブジェクトの に暗黙的にSetterBaseCollectionMultiDataTrigger追加されます。 EventSetter オブジェクトはサポートされていません。は オブジェクトのみを Style.Setters サポートします EventSetter

トリガーを使用するタイミングと他の手法を使用するタイミングについては、「 データ テンプレートの概要」を参照してください。

コンストラクター

MultiDataTrigger()

MultiDataTrigger クラスの新しいインスタンスを初期化します。

プロパティ

Conditions

Condition オブジェクトのコレクションを取得します。 プロパティ値に対する変更は、コレクション内のすべての条件が満たされたときに適用されます。

DependencyObjectType

このインスタンスの DependencyObjectType CLR 型をラップする を取得します。

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(継承元 DispatcherObject)
EnterActions

トリガー オブジェクトがアクティブになったときに適用する TriggerAction オブジェクトのコレクションを取得します。 このプロパティは EventTrigger クラスには適用されません。

(継承元 TriggerBase)
ExitActions

トリガー オブジェクトが非アクティブになったときに適用する TriggerAction オブジェクトのコレクションを取得します。 このプロパティは EventTrigger クラスには適用されません。

(継承元 TriggerBase)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。

(継承元 DependencyObject)
Setters

Setter のすべての条件が満たされたときに適用するプロパティ値を表す MultiDataTrigger オブジェクトのコレクションを取得します。

メソッド

CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。

(継承元 DependencyObject)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。 変更された特定の依存関係プロパティは、イベント データで報告されます。

(継承元 DependencyObject)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。

(継承元 DependencyObject)
SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(継承元 DispatcherObject)

明示的なインターフェイスの実装

IAddChild.AddChild(Object)

子オブジェクトを追加します。

IAddChild.AddText(String)

オブジェクトにノードのテキスト コンテンツを追加します。

適用対象

こちらもご覧ください