Aracılığıyla paylaş


MultiDataTrigger Sınıf

Tanım

Ö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 PlacesObservableCollection<T> Place ilişkilidir. 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. Condition öğelerinin MultiDataTrigger öğeleri, veri öğesinin Portland ve sırasıyla ve Place State OR olduğundaName, ilgili ListBoxItem arka plan değerinin olarak Cyanayarlandığı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.

Şunlara uygulanır

Ayrıca bkz.