MultiDataTrigger.Conditions Properti
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.
Mendapatkan kumpulan Condition objek. Perubahan pada nilai properti diterapkan ketika semua kondisi dalam koleksi terpenuhi.
public:
property System::Windows::ConditionCollection ^ Conditions { System::Windows::ConditionCollection ^ get(); };
public System.Windows.ConditionCollection Conditions { get; }
member this.Conditions : System.Windows.ConditionCollection
Public ReadOnly Property Conditions As ConditionCollection
Nilai Properti
Kumpulan Condition objek. Defaultnya adalah koleksi kosong.
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. Nilai tersebut pertama kali dikonversi ke jenis nilai pengikatan, jika memungkinkan, dan kemudian kedua nilai dibandingkan menggunakan Object.Equals metode . menerapkan MultiTrigger setter atau tindakan terkait ketika semua kondisi benar (operasi biner AND ).
MultiDataTriggerUntuk , setiap kondisi dalam koleksi harus mengatur Binding properti dan Value . Untuk informasi selengkapnya, lihat Binding .
Penggunaan Elemen Properti XAML
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
Nilai XAML
zeroOrMoreConditions Nol atau lebih Condition objek.