MultiDataTrigger.Setters Propiedad

Definición

Obtiene una colección de objetos Setter que describen los valores de propiedades que se van a aplicar cuando se cumplan todas las condiciones de 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

Valor de propiedad

Una colección de objetos Setter. El valor predeterminado es una colección vacía.

Ejemplos

En el ejemplo siguiente, la ItemsSource propiedad de ListBox está enlazada a Places, de ObservableCollection<T>Place objetos . Place los objetos tienen propiedades Name y State. La definición de Place y Places no se muestran.

Cada ListBoxItem una de las ListBox muestra un Place objeto . En Style el ejemplo se aplica a cada ListBoxItem. Los Condition elementos de MultiDataTrigger especifican que si y NameState del Place elemento de datos son Portland y OR , respectivamente, el fondo de correspondiente ListBoxItem se establece en Cyan.

Tenga en cuenta que <MultiDataTrigger.Setters> es implícito.

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

Comentarios

MultiDataTrigger permite iniciar acciones mediante las EnterActions propiedades o ExitActions , o para establecer valores de propiedad mediante Setter objetos cuando los datos enlazados cumplen un conjunto de condiciones.

Si hay dos Setter objetos en las mismas colecciones de establecedores o diferentes estableciendo la misma propiedad, se usa la Setter que se declara por última vez.

Agregar un Setter elemento secundario a un MultiDataTrigger objeto lo agrega implícitamente al SetterBaseCollection objeto para el MultiDataTrigger objeto . EventSetter no se admiten objetos; solo Style.Setters admite EventSetter objetos.

Uso de elementos de propiedad XAML

<object>  
    zeroOrMoreSetters  
</object>  

Valores XAML

zeroOrMoreSetters
Cero o más Setter objetos.

Se aplica a

Consulte también