MultiDataTrigger クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バインドされたデータが一連の条件を満たしたときに、プロパティ値を適用するかアクションを実行するトリガーを表します。
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>バインドされていますPlaces
。
Place
オブジェクトには、 プロパティと State
がありますName
。 と Places
のPlace
定義は表示されません。
各 ListBoxItem には ListBox 、 オブジェクトが Place
表示されます。
Styleこの例の は、各 ListBoxItemに適用されます。 の要素はCondition、データ項目の Place
と State
がそれぞれ であるPortland
OR
場合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 オブジェクトのコレクションを取得します。 |
メソッド
明示的なインターフェイスの実装
IAddChild.AddChild(Object) |
子オブジェクトを追加します。 |
IAddChild.AddText(String) |
オブジェクトにノードのテキスト コンテンツを追加します。 |
適用対象
こちらもご覧ください
.NET