DataTrigger.Value Eigenschaft

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.

Attribute

Ausnahmen

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

Beispiele

Im folgenden Beispiel ItemsSource ListBox wird der von an stellen, einem ObservableCollection<T> von Place -Objekten, gebunden.In the following example, the ItemsSource of the ListBox is bound to Places, an ObservableCollection<T> of Place objects. Place -Objekte haben Eigenschaften Name und Status.Place objects have properties Name and State.

Jede ListBoxItem ** der-Objekte zeigteinPlace-Objektan.ListBoxEach ListBoxItem of the ListBox displays a Place object. Der Style im Beispiel wird auf jeden ListBoxItemangewendet.The Style in the example is applied to each ListBoxItem.

Der DataTrigger -Wert wird so angegeben, dass der Vorder ** Grund des entsprechenden ListBoxItem -Elements auf Rot festgelegt wird, wenn der Zustand des Place-Datenelements "WA" lautet.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 in einer DataTemplatedefiniert sind.The following example shows two DataTriggers that are defined in a DataTemplate. Der DataTemplate wird auf die Datenobjekte des Auktions Elements angewendet (in diesem Beispiel nicht gezeigt), die über die Eigenschaft SpecialFeaturesverfügen.The DataTemplate is applied to AuctionItem data objects (not shown in this example), which have the property SpecialFeatures. Das komplette Beispiel finden Sie unter Daten Bindungs Demo .See Data Binding Demo for the complete example.

Der erste DataTrigger Wert wird so festgelegt, dass das Element, wenn das Datenobjekt den ** SpecialFeatures -Wert aufweist, mit einem DodgerBlue-Hintergrund mit dem Titel der Marine 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 den SpecialFeatures -Wert hervorhebenhat, ist das DataTrigger zweite aktiv und bewirkt, dass das Element mit einem orangefarbenen Rahmen mit einem Stern angezeigt wird.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 Eigenschafts Wert verglichen, der Binding von der- DataTriggerEigenschaft von erzeugt wird.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 zugehörigen Aktionen oder Setter angewendet.If the two values are equal, then the associated actions or setters are applied.

Beachten Sie, dass Sie sowohl die Binding - Value Eigenschaft als auch DataTrigger die-Eigenschaft für einen angeben müssen, damit der Daten-----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 sind, wird eine Ausnahme ausgelöst.If one or both properties are not set, an exception will be thrown.

Gilt für:

Siehe auch