Udostępnij za pośrednictwem


MultiDataTrigger.Setters Właściwość

Definicja

Pobiera kolekcję Setter obiektów opisujących wartości właściwości, które mają być stosowane, gdy zostaną spełnione wszystkie warunki 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

Wartość właściwości

SetterBaseCollection

Kolekcja obiektów Setter. Wartość domyślna to pusta kolekcja.

Przykłady

W poniższym przykładzie ItemsSource właściwość ListBox obiektu jest powiązana z Placesobiektem ObservableCollection<T> Place . Place obiekty mają właściwości Name i State. Definicja i Place Places nie są wyświetlane.

Każdy ListBoxItem z nich ListBox wyświetla Place obiekt. Element Style w przykładzie jest stosowany do każdego ListBoxItemelementu . Condition Elementy MultiDataTrigger elementu określają, że jeśli Name element danych i State PlacePortland i OR odpowiednio, tło odpowiadające ListBoxItem mu jest ustawione na Cyanwartość .

Należy pamiętać, że <MultiDataTrigger.Setters> jest to niejawne.

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

Uwagi

MultiDataTrigger Umożliwia uruchamianie akcji przy użyciu EnterActions właściwości lub ExitActions lub ustawianie wartości właściwości przy użyciu Setter obiektów, gdy powiązane dane spełniają zestaw warunków.

Jeśli istnieją dwa Setter obiekty w tych samych lub różnych kolekcjach zestawów ustawiających tę samą właściwość, Setter jest używany zadeklarowany ostatnio.

Setter Dodanie elementu podrzędnego MultiDataTrigger do obiektu niejawnie dodaje go do SetterBaseCollection obiektu dla MultiDataTrigger obiektu . EventSetterobiekty nie są obsługiwane; obsługuje EventSetter tylko Style.Setters obiekty.

Użycie elementu właściwości języka XAML

<object>  
    zeroOrMoreSetters  
</object>  

Wartości XAML

zeroOrMoreSetters
Zero lub więcej Setter obiektów.

Dotyczy

Zobacz też