MultiDataTrigger.Setters Eigenschap

Definitie

Hiermee haalt u een verzameling Setter objecten op die de eigenschapswaarden beschrijven die moeten worden toegepast wanneer aan alle voorwaarden van de objecten MultiDataTrigger wordt voldaan.

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

Waarde van eigenschap

Een verzameling Setter objecten. De standaardwaarde is een lege verzameling.

Voorbeelden

In het volgende voorbeeld is de ItemsSource eigenschap van de eigenschap van de ListBox eigenschap gebonden aan Places, een ObservableCollection<T> van Place objecten. Place objecten hebben eigenschappen Name en State. De definitie van Place en Places worden niet weergegeven.

Elk ListBoxItem van de ListBox objecten wordt weergegeven Place . Het Style in het voorbeeld wordt toegepast op elke ListBoxItem. De Condition elementen van de MultiDataTrigger opgeven dat als het Name en State van het Place gegevensitem respectievelijk Portland en OR respectievelijk, de achtergrond van de corresponderende ListBoxItem is ingesteld op Cyan.

Houd er rekening mee dat <MultiDataTrigger.Setters> dit impliciet is.

<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>

Opmerkingen

MultiDataTriggerhiermee kunt u acties starten met behulp van de of EnterActions eigenschappenExitActions, of eigenschapswaarden instellen met behulp van Setter objecten wanneer de afhankelijke gegevens voldoen aan een set voorwaarden.

Als er twee Setter objecten in dezelfde of verschillende setterverzamelingen zijn die dezelfde eigenschap instellen, wordt de Setter laatst gedeclareerde waarde gebruikt.

Als u een Setter onderliggend element aan een MultiDataTrigger object toevoegt, wordt dit impliciet toegevoegd aan het SetterBaseCollectionMultiDataTrigger object. EventSetterobjecten worden niet ondersteund; Style.Setters ondersteunt alleen EventSetter objecten.

Gebruik van XAML-eigenschapselement

<object>
    zeroOrMoreSetters
</object>

XAML-waarden

zeroOrMoreSetters Nul of meer Setter objecten.

Van toepassing op

Zie ook