MultiDataTrigger.Setters Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém uma coleção de objetos Setter que descrevem os valores de propriedade que serão aplicados quando todas as condições de MultiDataTrigger forem atendidas.
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 da propriedade
Uma coleção de objetos Setter . O valor padrão é uma coleção vazia.
Exemplos
No exemplo a seguir, a ItemsSource propriedade do ListBox é associada a Places
, um ObservableCollection<T> dos Place
objetos. Place
os objetos têm propriedades Name
e State
. A definição de Place
e Places
não são mostradas.
Cada ListBoxItem um deles ListBox exibe um Place
objeto. O Style exemplo é aplicado a cada ListBoxItem. Os Condition elementos da MultiDataTrigger especificação especificam que, se o item de dados e State
o Name
Place
item de dados forem Portland
eOR
, respectivamente, o plano de fundo da correspondente ListBoxItem será definido como Cyan
.
Observe que <MultiDataTrigger.Setters>
isso está 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>
Comentários
MultiDataTrigger permite que você inicie ações usando as EnterActions propriedades ou ExitActions defina valores de propriedade usando Setter objetos quando os dados associados atendem a um conjunto de condições.
Se houver dois Setter objetos nas mesmas coleções setter ou diferentes definindo a mesma propriedade, o Setter último declarado será usado.
Adicionar um Setter filho a um MultiDataTrigger objeto o adiciona implicitamente ao SetterBaseCollection MultiDataTrigger objeto. EventSetter não há suporte para objetos; só Style.Setters dá EventSetter suporte a objetos.
Uso do elemento propriedade XAML
<object>
zeroOrMoreSetters
</object>
Valores XAML
zeroOrMoreSetters
Zero ou mais Setter objetos.