MultiDataTrigger.Setters Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém uma coleção de Setter objetos que descrevem os valores das propriedades a aplicar quando todas as condições de são MultiDataTrigger cumpridas.
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 Propriedade
Uma coleção de Setter objetos. O valor padrão é uma coleção vazia.
Exemplos
No exemplo seguinte, a ItemsSource propriedade do ListBox está ligada a Places, um ObservableCollection<T> de Place objetos.
Place os objetos têm propriedades Name e State. A definição de Place e Places não é mostrada.
Cada ListBoxItemListBox um exibe um Place objeto. O Style no exemplo é aplicado a cada ListBoxItem. Os Condition elementos de especificam MultiDataTrigger que se os Name e State do Place elemento de dados forem Portland e OR respetivamente, então o fundo de correspondente ListBoxItem é definido como Cyan.
Note que isso <MultiDataTrigger.Setters> é 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>
Observações
MultiDataTrigger permite iniciar ações usando as EnterActions propriedades ou, ExitActions ou definir valores de propriedades usando Setter objetos quando os dados vinculados cumprem um conjunto de condições.
Se houver dois Setter objetos na mesma ou em coleções de setter diferentes a definir a mesma propriedade, Setter o que é declarado por último é usado.
Adicionar um Setter filho a um MultiDataTrigger objeto implícitamente adiciona-o ao SetterBaseCollection para o MultiDataTrigger objeto. EventSetter os objetos não são suportados; Só Style.Setters suporta EventSetter objetos.
Uso do elemento de propriedade XAML
<object>
zeroOrMoreSetters
</object>
Valores XAML
zeroOrMoreSetters Zero ou mais Setter objetos.