Bagikan melalui


MultiDataTrigger.Conditions Properti

Definisi

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.

Berlaku untuk

Lihat juga