Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

MultiDataTrigger.Setters-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft eine Auflistung von Setter -Objekten, die Eigenschaftswerte, um beim Anwenden beschreiben, alle Bedingungen für die MultiDataTrigger erfüllt sind.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public SetterBaseCollection Setters { get; }

Eigenschaftswert

Type: System.Windows.SetterBaseCollection

Eine Auflistung von Setter-Objekten. Der Standardwert ist eine leere Auflistung.

MultiDataTrigger ermöglicht das Starten von Aktionen mithilfe der EnterActions oder ExitActions Eigenschaften oder Festlegen von Eigenschaftswerten mithilfe Setter Objekte, wenn die gebundenen Daten eine Bedingung erfüllen.

Wenn zwei Setter Objekte in der gleichen oder einem anderen Setter-Auflistungen, die dieselbe Eigenschaft festlegen der Setter deklarierten letzten wird verwendet.

Hinzufügen einer Setter Kind ein MultiDataTrigger Objekt implizit hinzugefügt der SetterBaseCollection für die MultiDataTrigger Objekt. EventSetter Objekte werden nicht unterstützt. nur Style.Setters unterstützt EventSetter Objekte.

<object>
    zeroOrMoreSetters
</object>

zeroOrMoreSetters

NULL oder mehr Setter Objekte.

Im folgenden Beispiel die ItemsSource Eigenschaft der ListBox gebunden ist Places, ein ObservableCollection<T> der Place Objekte. Place Objekte verfügen über Eigenschaften Name und State. Die Definition der Place und Places werden nicht angezeigt.

Jede ListBoxItem von den ListBox zeigt ein Place Objekt. Die Style im Beispiel gilt für jede ListBoxItem. Die Condition Elemente der MultiDataTrigger angeben, dass bei der Name und State von den Place lauten Portland und OR bzw. der Hintergrund des entsprechenden ListBoxItem auf festgelegt ist Cyan.

Beachten Sie, dass <MultiDataTrigger.Setters> ist implizit.

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

.NET Framework
Verfügbar seit 3.0
Zurück zum Anfang
Anzeigen: