DataTrigger.Value DataTrigger.Value DataTrigger.Value DataTrigger.Value Property

Definition

Ruft den Wert ab, mit dem der Eigenschaftswert des Datenobjekts verglichen wird, bzw. legt diesen fest.Gets or sets the value to be compared with the property value of the data object.

public:
 property System::Object ^ Value { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.DependsOn("Binding")]
public object Value { get; set; }
member this.Value : obj with get, set
Public Property Value As Object

Eigenschaftswert

Der Standardwert ist nullsein.The default value is null. Weitere Informationen finden Sie im Abschnitt für Ausnahmen.See also the Exceptions section.

Ausnahmen

Ausdrücke werden nicht unterstützt.Expressions are not supported. Bindungen werden nicht unterstützt.Bindings are not supported.

Beispiele

Im folgenden Beispiel die ItemsSource von der ListBox gebunden ist stellen, ObservableCollection<T> von Ort Objekte.In the following example, the ItemsSource of the ListBox is bound to Places, an ObservableCollection<T> of Place objects. Direkte Objekte verfügen über Eigenschaften Namen und Zustand.Place objects have properties Name and State.

Jede ListBoxItem von der ListBox zeigt eine Ort Objekt.Each ListBoxItem of the ListBox displays a Place object. Die Style im Beispiel wird angewendet auf die einzelnen ListBoxItem.The Style in the example is applied to each ListBoxItem.

Die DataTrigger angegeben ist so, dass wenn der Zustand von der Ort Datenelement ist "WA" und dann den Vordergrund des entsprechenden ListBoxItem auf Rot festgelegt wird.The DataTrigger is specified such that if the State of the Place data item is "WA" then the foreground of the corresponding ListBoxItem is set to Red.

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

Das folgende Beispiel zeigt zwei DataTriggers, die definiert sind eine DataTemplate.The following example shows two DataTriggers that are defined in a DataTemplate. Die DataTemplate gilt für AuctionItem Datenobjekte (nicht in diesem Beispiel dargestellt), die die Eigenschaft SpecialFeatures.The DataTemplate is applied to AuctionItem data objects (not shown in this example), which have the property SpecialFeatures. Finden Sie unter Demo für die Datenbindung das vollständige Beispiel.See Data Binding Demo for the complete example.

Die erste DataTrigger angegeben ist so, dass, wenn das Datenobjekt verfügt über eine SpecialFeatures Wert Farbe, und klicken Sie dann das Element mit einem Hintergrund DodgerBlue mit dunkelblaue Titel angezeigt wird.The first DataTrigger is specified such that if the data object has a SpecialFeatures value of Color, then the item is displayed with a DodgerBlue background with Navy titles. Wenn das Datenobjekt verfügt über eine SpecialFeatures Wert markieren, klicken Sie dann die zweite DataTrigger aktiv, sodass das Element mit einem orangefarbenen Rahmen mit einem Stern angezeigt werden soll.If the data object has a SpecialFeatures value of Highlight, then the second DataTrigger will be active, causing the item to be displayed with an Orange border with a star.

<DataTemplate.Triggers>
    <DataTrigger Binding="{Binding Path=SpecialFeatures}">
        <DataTrigger.Value>
            <src:SpecialFeatures>Color</src:SpecialFeatures>
        </DataTrigger.Value>
      <DataTrigger.Setters>
        <Setter Property="BorderBrush" Value="DodgerBlue" TargetName="border" />
        <Setter Property="Foreground" Value="Navy" TargetName="descriptionTitle" />
        <Setter Property="Foreground" Value="Navy" TargetName="currentPriceTitle" />
        <Setter Property="BorderThickness" Value="3" TargetName="border" />
        <Setter Property="Padding" Value="5" TargetName="border" />
      </DataTrigger.Setters>
    </DataTrigger>
    <DataTrigger Binding="{Binding Path=SpecialFeatures}">
        <DataTrigger.Value>
            <src:SpecialFeatures>Highlight</src:SpecialFeatures>
        </DataTrigger.Value>
        <Setter Property="BorderBrush" Value="Orange" TargetName="border" />
        <Setter Property="Foreground" Value="Navy" TargetName="descriptionTitle" />
        <Setter Property="Foreground" Value="Navy" TargetName="currentPriceTitle" />
        <Setter Property="Visibility" Value="Visible" TargetName="star" />
        <Setter Property="BorderThickness" Value="3" TargetName="border" />
        <Setter Property="Padding" Value="5" TargetName="border" />
    </DataTrigger>
</DataTemplate.Triggers>

Hinweise

Verwendung von XAML-EigenschaftenelementenXAML Property Element Usage

<object>  
  <object.Value>  
    Value  
  </object.Value>  
</object>  

Dieser Wert wird mit dem Eigenschaftswert erzeugten verglichen die Binding Eigenschaft der DataTrigger.This value is compared with the property value produced by the Binding property of the DataTrigger. Der Vergleich ist eine Verweisgleichheitsprüfung.The comparison is a reference equality check. Wenn die beiden Werte gleich sind, werden die zugeordneten Aktionen oder Setter angewendet.If the two values are equal, then the associated actions or setters are applied.

Beachten Sie, dass Sie beide angeben können, müssen die Binding und Value Eigenschaften für eine DataTrigger für den Datentrigger sinnvoll ist.Note that you must specify both the Binding and Value properties on a DataTrigger for the data trigger to be meaningful. Wenn eine oder beide Eigenschaften nicht festgelegt werden, wird eine Ausnahme ausgelöst werden.If one or both properties are not set, an exception will be thrown.

Gilt für:

Siehe auch