MultiDataTrigger Sınıf
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.
İlişkili veriler bir dizi koşula uygun olduğunda özellik değerleri uygulayan veya eylemler gerçekleştiren bir tetikleyiciyi temsil eder.
public ref class MultiDataTrigger sealed : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
public sealed class MultiDataTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Setters")>]
type MultiDataTrigger = class
inherit TriggerBase
interface IAddChild
Public NotInheritable Class MultiDataTrigger
Inherits TriggerBase
Implements IAddChild
- Devralma
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte, öğesinin özelliği nesnelerden oluşan Place bir ObservableCollection<T> öğesine bağlıdırPlaces.ItemsSourceListBox
Placenesneleri ve Stateözelliklerine Name sahiptir. ve Places tanımı Place gösterilmez.
her ListBoxItem biri ListBox bir Place nesne görüntüler.
Style örnekteki her öğesine ListBoxItemuygulanır. öğelerinin MultiDataTrigger öğeleri, veri öğesinin NamePortland ve sırasıyla ve PlaceStateOR ise, karşılık gelenin ListBoxItem arka planının olarak Cyanayarlandığını belirtir.Condition
<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
bir MultiDataTrigger nesnesine MultiTriggerbenzer, ancak koşullarının MultiDataTrigger bir yerine ilişkili verilerin UIElementözellik değerlerini temel almasıdır. içinde MultiDataTrigger, veri öğesinin özellik değeri belirtilen Valueile eşleştiğinde bir koşul karşılanır. Ardından, tüm koşullar karşılandığında değişiklikleri uygulamak veya eylemleri başlatmak için ayarlayıcıları veya EnterActions ve ExitActions özelliklerini kullanabilirsiniz.
Bir SettersMultiDataTrigger nesnenin özelliği yalnızca nesnelerden Setter oluşabilir. Bir Setter nesneye MultiDataTrigger alt öğe eklemek, örtük olarak nesne için MultiDataTrigger öğesine eklerSetterBaseCollection. EventSetter nesneler desteklenmez; yalnızca Style.Setters nesneleri destekler EventSetter .
Tetikleyicilerin ne zaman kullanılacağı ve diğer tekniklerin ne zaman kullanılacağı hakkında bilgi için bkz. Veri Şablonuna Genel Bakış.
Oluşturucular
| Name | Description |
|---|---|
| MultiDataTrigger() |
MultiDataTrigger sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| Conditions |
Bir nesne koleksiyonu Condition alır. Koleksiyondaki tüm koşullar karşılandığında özellik değerlerinde yapılan değişiklikler uygulanır. |
| DependencyObjectType |
DependencyObjectType Bu örneğin CLR türünü sarmalayan öğesini alır. (Devralındığı yer: DependencyObject) |
| Dispatcher |
Dispatcher Bunun DispatcherObject ilişkili olduğu öğesini alır. (Devralındığı yer: DispatcherObject) |
| EnterActions |
Tetikleyici nesnesi etkin olduğunda uygulanacak bir nesne koleksiyonu TriggerAction alır. Bu özellik sınıfı için EventTrigger geçerli değildir. (Devralındığı yer: TriggerBase) |
| ExitActions |
Tetikleyici nesnesi etkin olmadığında uygulanacak bir nesne koleksiyonu TriggerAction alır. Bu özellik sınıfı için EventTrigger geçerli değildir. (Devralındığı yer: TriggerBase) |
| IsSealed |
Bu örneğin şu anda korumalı (salt okunur) olup olmadığını gösteren bir değer alır. (Devralındığı yer: DependencyObject) |
| Setters |
tüm koşulları MultiDataTrigger karşılandığında uygulanacak özellik değerlerini açıklayan bir nesne koleksiyonu Setter alır. |
Yöntemler
| Name | Description |
|---|---|
| CheckAccess() |
Çağıran iş parçacığının bu DispatcherObjectöğesine erişimi olup olmadığını belirler. (Devralındığı yer: DispatcherObject) |
| ClearValue(DependencyProperty) |
Bir özelliğin yerel değerini temizler. Temizlenecek özellik bir DependencyProperty tanımlayıcı tarafından belirtilir. (Devralındığı yer: DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Salt okunur özelliğin yerel değerini temizler. Temizlenecek özellik tarafından DependencyPropertyKeybelirtilir. (Devralındığı yer: DependencyObject) |
| CoerceValue(DependencyProperty) |
Belirtilen bağımlılık özelliğinin değerini zorlama. Bu, çağrısında CoerceValueCallbackvar olan bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir DependencyObject işlevi çağırarak gerçekleştirilir. (Devralındığı yer: DependencyObject) |
| Equals(Object) |
Sağlanan DependencyObject öğesinin geçerli DependencyObjectile eşdeğer olup olmadığını belirler. (Devralındığı yer: DependencyObject) |
| GetHashCode() |
Bu DependencyObjectiçin bir karma kodu alır. (Devralındığı yer: DependencyObject) |
| GetLocalValueEnumerator() |
Hangi bağımlılık özelliklerinin bu DependencyObjectüzerinde yerel olarak ayarlı değerlere sahip olduğunu belirlemek için özel bir numaralandırıcı oluşturur. (Devralındığı yer: DependencyObject) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| GetValue(DependencyProperty) |
Bir öğesinin bu örneğindeki bir bağımlılık özelliğinin DependencyObjectgeçerli etkin değerini döndürür. (Devralındığı yer: DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Belirtilen bağımlılık özelliği için geçerli değeri yeniden değerlendirir. (Devralındığı yer: DependencyObject) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Bunun DependencyObject üzerindeki herhangi bir bağımlılık özelliğinin etkin değeri her güncelleştirildiğinde çağrılır. Değiştirilen belirli bağımlılık özelliği olay verilerinde bildirilir. (Devralındığı yer: DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Varsa, bağımlılık özelliğinin yerel değerini döndürür. (Devralındığı yer: DependencyObject) |
| SetCurrentValue(DependencyProperty, Object) |
Bir bağımlılık özelliğinin değerini, değer kaynağını değiştirmeden ayarlar. (Devralındığı yer: DependencyObject) |
| SetValue(DependencyProperty, Object) |
Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir bağımlılık özelliğinin yerel değerini ayarlar. (Devralındığı yer: DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Bağımlılık özelliğinin tanımlayıcısı tarafından belirtilen salt okunur bağımlılık özelliğinin DependencyPropertyKey yerel değerini ayarlar. (Devralındığı yer: DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Serileştirme işlemlerinin sağlanan bağımlılık özelliği için değeri serileştirmesi gerekip gerekmediğini gösteren bir değer döndürür. (Devralındığı yer: DependencyObject) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
| VerifyAccess() |
Çağıran iş parçacığının bu DispatcherObjectöğesine erişmesini zorlar. (Devralındığı yer: DispatcherObject) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IAddChild.AddChild(Object) |
Bir alt nesne ekler. |
| IAddChild.AddText(String) |
Bir düğümün metin içeriğini nesnesine ekler. |