MultiDataTrigger.Setters Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
tüm koşulları Setter karşılandığında uygulanacak özellik değerlerini açıklayan bir nesne koleksiyonu MultiDataTrigger alır.
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
Özellik Değeri
Bir nesne koleksiyonu Setter. Varsayılan değer boş bir koleksiyondur.
Örnekler
Aşağıdaki örnekte, öğesinin özelliği nesnelerden oluşan ItemsSource bir ListBox öğesine bağlıdırPlaces.ObservableCollection<T>Place
Placenesneleri ve Nameözelliklerine State sahiptir. ve Place tanımı Places gösterilmez.
her ListBoxItem biri ListBox bir Place nesne görüntüler.
Style örnekteki her öğesine ListBoxItemuygulanır. öğelerinin Condition öğeleri, veri öğesinin MultiDataTriggerName ve sırasıyla ve StatePlacePortland ise, karşılık gelenin OR arka planının olarak ListBoxItemayarlandığını belirtir.Cyan
Bunun örtük olduğuna <MultiDataTrigger.Setters> dikkat edin.
<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>
Açıklamalar
MultiDataTrigger, veya EnterActions özelliklerini kullanarak ExitActions eylemleri başlatmanıza veya ilişkili veriler bir dizi koşula uygun olduğunda nesneleri kullanarak Setter özellik değerleri ayarlamanıza olanak tanır.
Aynı özelliği ayarlayan aynı veya farklı ayarlayıcı koleksiyonlarında iki Setter nesne varsa, Setter en son bildirilen kullanılır.
Bir Setter nesneye MultiDataTrigger alt öğe eklemek, örtük olarak nesne için SetterBaseCollection öğesine eklerMultiDataTrigger. EventSetter nesneler desteklenmez; yalnızca Style.Setters nesneleri destekler EventSetter .
XAML Özellik Öğesi Kullanımı
<object>
zeroOrMoreSetters
</object>
XAML Değerleri
zeroOrMoreSetters Sıfır veya daha fazla Setter nesne.