MultiDataTrigger.Setters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 Name
State
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.