Condition.Binding Eigenschaft

Definition

Ruft die Bindung ab, die die Eigenschaft der Bedingung angibt, oder legt sie fest. Dies gilt nur für MultiDataTrigger-Objekte.

public:
 property System::Windows::Data::BindingBase ^ Binding { System::Windows::Data::BindingBase ^ get(); void set(System::Windows::Data::BindingBase ^ value); };
public System.Windows.Data.BindingBase Binding { get; set; }
member this.Binding : System.Windows.Data.BindingBase with get, set
Public Property Binding As BindingBase

Eigenschaftswert

Der Standardwert ist "null".

Beispiele

Im folgenden Beispiel ist der ItemsSource von ListBox an Places gebunden, ein ObservableCollection<T> von Place-Objekten . Place-Objekte verfügen über die Eigenschaften Name und State.

Jedes ListBoxItem der ListBox zeigt ein Place-Objekt an. Im Style Beispiel wird auf jede ListBoxItemangewendet. Die Conditions des MultiDataTrigger werden so angegeben, dass der Hintergrund des entsprechenden ListBoxItem Elements auf Cyan festgelegt wird, wenn Name und Status des Datenelements "Ort" bzw. "OR" lautet.

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

Hinweise

MultiDataTriggerMit s können Sie Eigenschaftswerte basierend auf den Werten der zurückgegebenen Daten festlegen. Wenn Sie beispielsweise eine Liste von Aufgabenelementen anzeigen, können Sie eine Aufgabe mit rotem Hintergrund anzeigen, wenn sie eine hohe Priorität hat und seit mehr als zwei Wochen nicht mehr betrachtet wurde.

Sie erstellen eine Bindung und verwenden die Path -Eigenschaft, um eine Bindung an eine Eigenschaft eines bestimmten Objekts (das Bindungsquellobjekt) zu binden. Sie können z. B. an die Priority-Eigenschaft eines Vorgangs binden. Weitere Informationen finden Sie unter Übersicht über Datenbindung.

Wenn es sich um eine Bedingung für handelt MultiDataTrigger, müssen die Binding Eigenschaften und Value festgelegt werden. Das Festlegen des Property Werts würde in diesem Fall zu einer Ausnahme führen.

Verwendung von XAML-Attributen

<object property="{Binding  declaration}"/>  

Verwendung von XAML-Eigenschaftenelementen

<object>  
  <object.Binding>  
    <Binding …/>  
  </object.Binding>  
</object>  

XAML-Werte

declaration
Eine Bindungsdeklaration. Weitere Informationen finden Sie unter Übersicht über Bindungsdeklarationen .

Gilt für:

Weitere Informationen