MultiDataTrigger.Setters Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en samling Setter objekt som beskriver de egenskapsvärden som ska tillämpas när alla villkor i MultiDataTrigger är uppfyllda.
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
Egenskapsvärde
En samling Setter objekt. Standardvärdet är en tom samling.
Exempel
I följande exempel ItemsSource är egenskapen för ListBox är bunden till Places, ett ObservableCollection<T> av Place objekten.
Place objekt har egenskaper Name och State. Definitionen av Place och Places visas inte.
Vart ListBoxItem och ett ListBox av objekten Place visas. I Style exemplet tillämpas på varje ListBoxItem. Elementen i anger att om Condition och MultiDataTrigger för dataobjektet Name är State respektive Place så är motsvarande bakgrund Portland inställd på OR.ListBoxItemCyan
Observera att är <MultiDataTrigger.Setters> implicit.
<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>
Kommentarer
MultiDataTrigger gör att du kan starta åtgärder med hjälp EnterActions av egenskaperna eller ExitActions eller ange egenskapsvärden med hjälp Setter av objekt när bundna data uppfyller en uppsättning villkor.
Om det finns två Setter objekt i samma eller olika settersamlingar som anger samma egenskap används den Setter som deklareras sist.
Om du lägger till ett Setter underordnat objekt i ett MultiDataTrigger objekt läggs det implicit till SetterBaseCollection för MultiDataTrigger objektet. EventSetterobjekt stöds inte. stöder Style.Setters endast EventSetter objekt.
Användning av XAML-egenskapselement
<object>
zeroOrMoreSetters
</object>
XAML-värden
zeroOrMoreSetters Noll eller fler Setter objekt.