Aracılığıyla paylaş


MultiDataTrigger Sınıf

Tanım

İ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.

Şunlara uygulanır

Ayrıca bkz.