MultiDataTrigger.Conditions Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene una raccolta di oggetti Condition. Modifiche ai valori della proprietà sono applicate quando tutte le condizioni nell'insieme sono soddisfatte.
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
Valore della proprietà
Raccolta di oggetti Condition. Il valore predefinito è una raccolta vuota.
Esempio
Nell'esempio seguente la ItemsSource proprietà di ListBox è associata a Places
, un ObservableCollection<T> oggetto di Place
oggetti . Place
gli oggetti hanno proprietà Name
e State
. La definizione di Place
e Places
non viene visualizzata.
Ogni ListBoxItem oggetto ListBox visualizza un Place
oggetto . Nell'esempio Style viene applicato a ogni ListBoxItemoggetto . Gli Condition elementi di MultiDataTrigger specificano che se e Name
State
dell'elemento Place
di dati sono Portland
e OR
rispettivamente, lo sfondo del corrispondente ListBoxItem viene impostato su 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>
Commenti
Un MultiDataTrigger oggetto è simile a un MultiTrigger, ad eccezione del fatto che le condizioni di un MultiDataTrigger oggetto si basano sui valori delle proprietà dei dati associati anziché su quelli di un oggetto UIElement. In una MultiDataTriggercondizione viene soddisfatta quando il valore della proprietà dell'elemento di dati corrisponde all'oggetto specificato Value. Tale valore viene prima convertito nel tipo del valore dell'associazione, se possibile, e quindi i due valori vengono confrontati usando il Object.Equals
metodo . MultiTrigger Applica i setter o le azioni associati quando tutte le condizioni sono vere (operazione binariaAND
).
Per un oggetto MultiDataTrigger, ogni condizione dell'insieme deve impostare le Binding proprietà e Value . Per altre informazioni, vedere Binding.
Utilizzo della sintassi XAML per elementi proprietà
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
Valori XAML
zeroOrMoreConditions
Zero o più Condition oggetti.