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.
Özellik değerlerini uygulayan veya ilişkili veriler bir dizi koşula uygun olduğunda 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, ItemsSource özelliğinin ListBox nesnesi ile Places
ObservableCollection<T> Place
ilişkilidir. Place
nesneleri 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. Condition öğelerinin MultiDataTrigger öğeleri, veri öğesinin Portland
ve sırasıyla ve Place
State
OR
olduğundaName
, ilgili ListBoxItem arka plan değerinin olarak Cyan
ayarlandığını belirtir.
<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 UIElementilişkili verilerin özellik değerlerini temel alması gerekir. 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 Setters MultiDataTrigger nesnenin özelliği yalnızca nesnelerden Setter oluşabilir. Bir nesneye alt Setter öğe eklemek, örtük olarak nesnesi için MultiDataTrigger öğesine eklerSetterBaseCollection.MultiDataTrigger 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 Şablonu Oluşturmaya Genel Bakış.
Oluşturucular
MultiDataTrigger() |
MultiDataTrigger sınıfının yeni bir örneğini başlatır. |
Özellikler
Conditions |
Nesne koleksiyonunu Condition alır. Özellik değerlerinde yapılan değişiklikler, koleksiyondaki tüm koşullar karşılandığında 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ğunu alır. (Devralındığı yer: DispatcherObject) |
EnterActions |
Tetikleyici nesnesi etkin hale geldiğinde uygulanacak nesne koleksiyonunu 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 nesne koleksiyonunu 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
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 var olan bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir CoerceValueCallback işlevi çağırarak DependencyObjectgerç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 özelleştirilmiş bir numaralandırıcı oluşturur. (Devralındığı yer: DependencyObject) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetValue(DependencyProperty) |
Bir öğesinin bu örneğindeki bağımlılık özelliğinin DependencyObjectgeçerli geçerli 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 Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Bu DependencyObject konudaki 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) |
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 bağımlılık özelliğinin yerel değerini ayarlar. (Devralındığı yer: DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Salt okunur bağımlılık özelliğinin, bağımlılık özelliğinin DependencyPropertyKey tanımlayıcısı tarafından belirtilen 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 dizeyi döndürür. (Devralındığı yer: Object) |
VerifyAccess() |
Çağıran iş parçacığının bu DispatcherObjecterişimine sahip olmasını zorlar. (Devralındığı yer: DispatcherObject) |
Belirtik Arabirim Kullanımları
IAddChild.AddChild(Object) |
Bir alt nesne ekler. |
IAddChild.AddText(String) |
Bir düğümün metin içeriğini nesnesine ekler. |