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 Setter objetos que descrevem os valores de propriedade a serem aplicados quando todas as condições da MultiDataTrigger propriedade 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 Setter objetos. 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 dos 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 PlaceName item de dados forem Portland eOR, respectivamente, o plano de fundo correspondente ListBoxItem será definido como Cyan.
Observe que <MultiDataTrigger.Setters> 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 propriedades ou 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 de setters ou diferentes definindo a mesma propriedade, o Setter último declarado será usado.
Adicionar um Setter filho a um MultiDataTrigger objeto o adiciona implicitamente ao SetterBaseCollectionMultiDataTrigger objeto. EventSetter não há suporte para objetos; só Style.Setters dá EventSetter suporte a objetos.
Uso do elemento de propriedade XAML
<object>
zeroOrMoreSetters
</object>
Valores XAML
zeroOrMoreSetters Zero ou mais Setter objetos.