MultiDataTrigger.Setters Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kolekci Setter objektů, které popisují hodnoty vlastností, které se mají použít, když jsou splněny všechny podmínky MultiDataTrigger .
public:
property System::Windows::SetterBaseCollection ^ Setters { System::Windows::SetterBaseCollection ^ get(); };
public System.Windows.SetterBaseCollection Setters { get; }
member this.Setters : System.Windows.SetterBaseCollection
Public ReadOnly Property Setters As SetterBaseCollection
Hodnota vlastnosti
Kolekce objektů Setter. Výchozí hodnota je prázdná kolekce.
Příklady
V následujícím příkladu ItemsSource je vlastnost ListBox vázána na Places
objekty ObservableCollection<T> Place
. Place
objekty mají vlastnosti Name
a State
. Definice Place
a Places
nezobrazuje se.
Každý ListBoxItem z nich ListBox zobrazí Place
objekt. V Style příkladu se použije u každého z nich ListBoxItem. Prvky Condition specifikaMultiDataTrigger, že pokud Name
jsou Portland
položky a State
Place
položky dat a OR
v uvedeném pořadí, je pozadí odpovídajících ListBoxItem položek nastaveno na Cyan
.
Všimněte si, že <MultiDataTrigger.Setters>
je implicitní.
<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>
Poznámky
MultiDataTrigger umožňuje zahájit akce pomocí EnterActions vlastností nebo ExitActions vlastností nebo nastavit hodnoty vlastností pomocí Setter objektů, když svázaná data splňují sadu podmínek.
Pokud jsou Setter ve stejných nebo různých kolekcích setter dva objekty, které nastaví stejnou vlastnost, Setter použije se deklarovaná poslední.
Přidání podřízeného Setter objektu do objektu MultiDataTrigger implicitně přidá do SetterBaseCollection objektu MultiDataTrigger . EventSetterobjekty nejsou podporovány; podporuje EventSetter pouze Style.Setters objekty.
Použití elementu vlastnosti XAML
<object>
zeroOrMoreSetters
</object>
Hodnoty XAML
zeroOrMoreSetters
Nula nebo více Setter objektů.