Språk

MultiDataTrigger.Setters Egenskap

Definition

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.

Gäller för

Se även