MultiDataTrigger.Conditions プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Condition オブジェクトのコレクションを取得します。 プロパティ値に対する変更は、コレクション内のすべての条件が満たされたときに適用されます。
public:
property System::Windows::ConditionCollection ^ Conditions { System::Windows::ConditionCollection ^ get(); };
public System.Windows.ConditionCollection Conditions { get; }
member this.Conditions : System.Windows.ConditionCollection
Public ReadOnly Property Conditions As ConditionCollection
プロパティ値
Condition オブジェクトのコレクション。 既定値は空のコレクションです。
例
次の例では、ItemsSourceオブジェクトのプロパティがListBoxオブジェクトの Place
1 にPlaces
ObservableCollection<T>バインドされています。 Place
オブジェクトにはプロパティ Name
と State
. の定義 Place
は Places
表示されません。
それぞれの ListBoxItem オブジェクトが ListBox 表示されます Place
。 この Style 例では、それぞれ ListBoxItemに適用されます。 データ項目の要素はCondition、データ項目とデータ項目のそれぞれがあるPortland``OR
場合Name
Place
State
、対応する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オブジェクトは a MultiTriggerに似ていますが、a のMultiDataTrigger条件はバインドされたデータのプロパティ値にUIElement基づいている点が異なります。 では MultiDataTrigger、データ項目のプロパティ値が指定した値と一致すると条件が満たされます Value。 その値は、最初にバインディングの値の型 (可能な場合) に変換され、次にメソッドを使用して 2 つの値が Object.Equals
比較されます。 すべての MultiTrigger 条件が true (バイナリ AND
演算) の場合、関連付けられているセッターまたはアクションが適用されます。
の場合、MultiDataTriggerコレクション内の各条件で、プロパティとValueプロパティの両方を設定するBinding必要があります。 詳細については、「Binding」を参照してください。
XAML プロパティ要素の使用
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
XAML 値
zeroOrMoreConditions
0 個以上の Condition オブジェクト。