MultiDataTrigger.Setters 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 Setter objek yang menjelaskan nilai properti yang akan diterapkan saat semua kondisi MultiDataTrigger terpenuhi.
public:
property System::Windows::SetterBaseCollection ^ Setters { System::Windows::SetterBaseCollection ^ get(); };
public System.Windows.SetterBaseCollection Setters { get; }
member this.Setters : System.Windows.SetterBaseCollection
Public ReadOnly Property Setters As SetterBaseCollection
Nilai Properti
Kumpulan Setter objek. Nilai 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.
Perhatikan bahwa <MultiDataTrigger.Setters> itu implisit.
<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
MultiDataTrigger memungkinkan Anda memulai tindakan dengan menggunakan EnterActions properti atau ExitActions , atau untuk mengatur nilai properti dengan menggunakan Setter objek saat data terikat memenuhi serangkaian kondisi.
Jika ada dua Setter objek dalam kumpulan setter yang sama atau berbeda yang mengatur properti yang sama, Setter yang dinyatakan terakhir digunakan.
Setter Menambahkan anak ke MultiDataTrigger objek secara implisit menambahkannya ke SetterBaseCollection untuk MultiDataTrigger objek. EventSetter objek tidak didukung; hanya Style.Setters mendukung EventSetter objek.
Penggunaan Elemen Properti XAML
<object>
zeroOrMoreSetters
</object>
Nilai XAML
zeroOrMoreSetters Nol atau lebih Setter objek.