Aracılığıyla paylaş


MultiDataTrigger.Setters Özellik

Tanım

tüm koşulları MultiDataTrigger karşılandığında uygulanacak özellik değerlerini açıklayan bir nesne koleksiyonu Setter alır.

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

Özellik Değeri

Setter nesneleri topluluğu. Varsayılan değer boş bir koleksiyondur.

Örnekler

Aşağıdaki örnekte, ItemsSource özelliğinin ListBox nesnesi ile PlacesObservableCollection<T>Place ilişkilidir. Placenesneleri ve Stateözelliklerine Name sahiptir. ve Places tanımı Place gösterilmez.

her ListBoxItem biri ListBox bir Place nesne görüntüler. Style örnekteki her öğesine ListBoxItemuygulanır. Condition öğelerinin MultiDataTrigger öğeleri, veri öğesinin Portland ve sırasıyla ve PlaceStateOR olduğundaName, ilgili ListBoxItem arka plan değerinin olarak Cyanayarlandığını belirtir.

Örtük olduğuna <MultiDataTrigger.Setters> dikkat edin.

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

Açıklamalar

MultiDataTrigger, veya ExitActions özelliklerini kullanarak EnterActions eylemleri başlatmanıza veya ilişkili veriler bir dizi koşula uygun olduğunda nesneleri kullanarak Setter özellik değerleri ayarlamanıza olanak tanır.

Aynı özelliği ayarlayan aynı veya farklı ayarlayıcı koleksiyonlarında iki Setter nesne varsa, Setter en son bildirilen kullanılır.

Bir nesneye alt Setter öğe eklemek, örtük olarak nesnesi için MultiDataTrigger öğesine eklerSetterBaseCollection.MultiDataTrigger EventSetter nesneler desteklenmez; yalnızca Style.Setters nesneleri destekler EventSetter .

XAML Özellik Öğesi Kullanımı

<object>  
    zeroOrMoreSetters  
</object>  

XAML Değerleri

zeroOrMoreSetters
Sıfır veya daha fazla Setter nesne.

Şunlara uygulanır

Ayrıca bkz.