Sdílet prostřednictvím


MultiDataTrigger.Setters Vlastnost

Definice

Získá kolekci Setter objektů, které popisují hodnoty vlastnosti, 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 Setter objektů. Výchozí hodnota je prázdná kolekce.

Příklady

V následujícím příkladu ItemsSource je vlastnost ListBox vázána na Placesobjekty ObservableCollection<T>Place . Place objekty mají vlastnosti Name a State. Definice Place a Places není zobrazena.

Každý ListBoxItem z nich ListBox zobrazí Place objekt. V Style příkladu se použije na každý z nich ListBoxItem. Prvky ConditionMultiDataTrigger neurčí, že pokud Name jsou Portland a State z Place datové položky a OR v uvedeném pořadí, pak pozadí odpovídající ListBoxItem je 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 nastavením hodnot vlastností pomocí Setter objektů, pokud svázaná data splňují sadu podmínek.

Pokud jsou ve stejných nebo různých kolekcích setter dva Setter objekty, které nastaví stejnou vlastnost, Setter použije se deklarovaná poslední.

Přidání podřízeného Setter objektu do objektu MultiDataTrigger jej implicitně přidá do objektu SetterBaseCollectionMultiDataTrigger . 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ů.

Platí pro

Viz také