Bagikan melalui


MultiDataTrigger Kelas

Definisi

Mewakili pemicu yang menerapkan nilai properti atau melakukan tindakan saat data terikat memenuhi serangkaian kondisi.

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
Warisan
Atribut
Penerapan

Contoh

Dalam contoh berikut, ItemsSource properti terikat ListBox ke Places, objek ObservableCollection<T>Place . Place objek memiliki properti Name dan State. Definisi Place dan Places tidak ditampilkan.

ListBox Masing-masing ListBoxItem menampilkan Place objek. Style Dalam contoh diterapkan ke masing-masing ListBoxItem. Elemen Condition dari MultiDataTrigger menentukan bahwa jika Name dan State dari Place item data adalah Portland dan OR masing-masing, maka latar belakang yang sesuai ListBoxItem diatur ke Cyan.

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

Keterangan

Objek MultiDataTrigger mirip MultiTriggerdengan , kecuali bahwa kondisi MultiDataTrigger didasarkan pada nilai properti data terikat, bukan yang dari UIElement. MultiDataTriggerDalam , kondisi terpenuhi ketika nilai properti item data cocok dengan yang ditentukan Value. Anda kemudian dapat menggunakan setter atau EnterActions properti dan ExitActions untuk menerapkan perubahan atau memulai tindakan saat semua kondisi terpenuhi.

Properti SettersMultiDataTrigger objek hanya dapat terdiri dari Setter objek. Setter Menambahkan anak ke MultiDataTrigger objek secara implisit menambahkannya ke SetterBaseCollection untuk MultiDataTrigger objek. EventSetter objek tidak didukung; hanya Style.Setters mendukung EventSetter objek.

Untuk informasi tentang kapan menggunakan pemicu dan kapan menggunakan teknik lain, lihat Gambaran Umum Templat Data.

Konstruktor

Nama Deskripsi
MultiDataTrigger()

Menginisialisasi instans baru dari kelas MultiDataTrigger.

Properti

Nama Deskripsi
Conditions

Mendapatkan kumpulan Condition objek. Perubahan pada nilai properti diterapkan ketika semua kondisi dalam koleksi terpenuhi.

DependencyObjectType

DependencyObjectType Mendapatkan yang membungkus jenis CLR instans ini.

(Diperoleh dari DependencyObject)
Dispatcher

Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan.

(Diperoleh dari DispatcherObject)
EnterActions

Mendapatkan kumpulan TriggerAction objek yang akan diterapkan saat objek pemicu menjadi aktif. Properti ini tidak berlaku untuk EventTrigger kelas.

(Diperoleh dari TriggerBase)
ExitActions

Mendapatkan kumpulan TriggerAction objek untuk diterapkan saat objek pemicu menjadi tidak aktif. Properti ini tidak berlaku untuk EventTrigger kelas.

(Diperoleh dari TriggerBase)
IsSealed

Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja).

(Diperoleh dari DependencyObject)
Setters

Mendapatkan kumpulan Setter objek yang menjelaskan nilai properti yang akan diterapkan saat semua kondisi MultiDataTrigger terpenuhi.

Metode

Nama Deskripsi
CheckAccess()

Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
ClearValue(DependencyProperty)

Menghapus nilai lokal properti. Properti yang akan dihapus ditentukan oleh DependencyProperty pengidentifikasi.

(Diperoleh dari DependencyObject)
ClearValue(DependencyPropertyKey)

Menghapus nilai lokal properti baca-saja. Properti yang akan dihapus ditentukan oleh DependencyPropertyKey.

(Diperoleh dari DependencyObject)
CoerceValue(DependencyProperty)

Memaksa nilai properti dependensi yang ditentukan. Ini dilakukan dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject.

(Diperoleh dari DependencyObject)
Equals(Object)

Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject.

(Diperoleh dari DependencyObject)
GetHashCode()

Mendapatkan kode hash untuk ini DependencyObject.

(Diperoleh dari DependencyObject)
GetLocalValueEnumerator()

Membuat enumerator khusus untuk menentukan properti dependensi mana yang telah mengatur nilai secara lokal pada ini DependencyObject.

(Diperoleh dari DependencyObject)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject.

(Diperoleh dari DependencyObject)
InvalidateProperty(DependencyProperty)

Mengevaluasi kembali nilai efektif untuk properti dependensi yang ditentukan.

(Diperoleh dari DependencyObject)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Dipanggil setiap kali nilai efektif dari properti dependensi apa pun pada ini DependencyObject telah diperbarui. Properti dependensi tertentu yang berubah dilaporkan dalam data peristiwa.

(Diperoleh dari DependencyObject)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika ada.

(Diperoleh dari DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Mengatur nilai properti dependensi tanpa mengubah sumber nilainya.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya.

(Diperoleh dari DependencyObject)
SetValue(DependencyPropertyKey, Object)

Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi.

(Diperoleh dari DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus membuat serialisasi nilai untuk properti dependensi yang disediakan.

(Diperoleh dari DependencyObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
VerifyAccess()

Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IAddChild.AddChild(Object)

Menambahkan objek anak.

IAddChild.AddText(String)

Menambahkan konten teks simpul ke objek.

Berlaku untuk

Lihat juga