MultiDataTrigger Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |