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 Condition oggetti . Le modifiche apportate ai valori delle proprietà vengono applicate quando vengono soddisfatte tutte le condizioni dell'insieme.
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 Condition oggetti. Il valore predefinito è una raccolta vuota.
Esempio
Nell'esempio seguente la ItemsSource proprietà di ListBox è associata a Places, un ObservableCollection<T> di Place oggetti .
Place gli oggetti hanno proprietà Name e State. La definizione di Place e Places non viene visualizzata.
Ognuno ListBoxItem di ListBox essi visualizza un Place oggetto . Nell'esempio Style viene applicato a ogni ListBoxItemoggetto . Gli Condition elementi dell'oggetto MultiDataTrigger specificano che se e StateName dell'elemento Place di dati sono Portland eOR, 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 MultiTriggeroggetto , ad eccezione del fatto che le condizioni di un MultiDataTrigger oggetto sono basate 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 , MultiDataTriggerogni condizione nella raccolta deve impostare sia le Binding proprietà che Value . Per altre informazioni, vedere Binding.
Utilizzo dell'elemento della proprietà XAML
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
Valori XAML
zeroOrMoreConditions Zero o più Condition oggetti.