DataTemplate.Triggers DataTemplate.Triggers DataTemplate.Triggers DataTemplate.Triggers Property

Definition

Ruft eine Auflistung von Triggern ab, die Eigenschaftswerte anwenden oder Aktionen anhand einer oder mehrerer Bedingungen ausführen.Gets a collection of triggers that apply property values or perform actions based on one or more conditions.

public:
 property System::Windows::TriggerCollection ^ Triggers { System::Windows::TriggerCollection ^ get(); };
[System.Windows.Markup.DependsOn("VisualTree")]
[System.Windows.Markup.DependsOn("Template")]
public System.Windows.TriggerCollection Triggers { get; }
member this.Triggers : System.Windows.TriggerCollection
Public ReadOnly Property Triggers As TriggerCollection

Eigenschaftswert

Eine Auflistung von Triggerobjekten.A collection of trigger objects. Der Standardwert ist nullsein.The default value is null.

Beispiele

Im folgenden DataTemplate Beispiel wird die Verwendung Triggers der-Eigenschaft veranschaulicht.The following DataTemplate demonstrates the use of the Triggers property.

<DataTemplate DataType="{x:Type src:AuctionItem}">
    <Border BorderThickness="1" BorderBrush="Gray"
            Padding="7" Name="border" Margin="3" Width="500">
        <Grid>
          <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
          </Grid.RowDefinitions>
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="86"/>
            <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
              
            <Polygon Grid.Row="0" Grid.Column="0" Grid.RowSpan="4"
                     Fill="Yellow" Stroke="Black" StrokeThickness="1"
                     StrokeLineJoin="Round" Width="20" Height="20"
                     Stretch="Fill"
                     Points="9,2 11,7 17,7 12,10 14,15 9,12 4,15 6,10 1,7 7,7"
                     Visibility="Hidden" Name="star"/>

            <TextBlock Grid.Row="0" Grid.Column="1" Margin="0,0,8,0"
                       Name="descriptionTitle"
                       Style="{StaticResource smallTitleStyle}">Description:</TextBlock>
            <TextBlock Name="DescriptionDTDataType" Grid.Row="0" Grid.Column="2" 
                Text="{Binding Path=Description}" 
                Style="{StaticResource textStyleTextBlock}"/>

            <TextBlock Grid.Row="1" Grid.Column="1" Margin="0,0,8,0"
                       Name="currentPriceTitle"
                       Style="{StaticResource smallTitleStyle}">Current Price:</TextBlock>
            <StackPanel Grid.Row="1" Grid.Column="2" Orientation="Horizontal">
                <TextBlock Text="$" Style="{StaticResource textStyleTextBlock}"/>
                <TextBlock Name="CurrentPriceDTDataType" 
                    Text="{Binding Path=CurrentPrice}" 
                    Style="{StaticResource textStyleTextBlock}"/>
            </StackPanel>
        </Grid>
    </Border>
    <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>
</DataTemplate>

Das komplette Beispiel finden Sie unter Demo zur Datenbindung.For the complete sample, see Data Binding Demo.

Hinweise

Wenn Sie Trigger innerhalb einer Daten Vorlage erstellen, sollten die Setter der Trigger Eigenschaften festlegen, die innerhalb des Gültigkeits Bereichs der Daten Vorlage liegen.If you are creating triggers within a data template, the setters of the triggers should be setting properties that are within the scope of the data template. Andernfalls ist es möglicherweise besser, Trigger mithilfe eines Stils zu erstellen, der auf den Typ abzielt, der die Daten enthält.Otherwise, it may be more suitable to create triggers using a style that targets the type that contains the data. Wenn Sie z. b. ein ListBox -Steuerelement binden, sind ListBoxItem die Container-Objekte.For example, if you are binding a ListBox control, the containers are ListBoxItem objects. Wenn Sie-Trigger verwenden, um Eigenschaften festzulegen, die nicht innerhalb des Bereichs DataTemplatevon liegen, ist es möglicherweise besser, einen ListBoxItem Stil zu erstellen und Trigger innerhalb dieses Stils zu erstellen.If you are using triggers to set properties that are not within the scope of the DataTemplate, then it may be more suitable to create a ListBoxItem style and create triggers within that style. Weitere Informationen finden Sie unter Was gehört zu einem DataTemplate? in der Übersicht über DatenVorlagen.For more information, see What Belongs in a DataTemplate? in the Data Templating Overview.

Hinweis

Diese Eigenschaft kann nur in über die Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) angezeigte Auflistungs Syntax oder durch Zugriff auf das Auflistungs Objekt und mithilfe der verschiedenen Methoden, z. b. Add, festgelegt werden.This property can only be set in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) via the collection syntax shown, or by accessing the collection object and using its various methods such as Add. Die-Eigenschaft für den Zugriff auf das Auflistungs Objekt selbst ist schreibgeschützt, die Auflistung selbst hat Lese-/Schreibzugriff.The property to access the collection object itself is read-only, the collection itself is read-write.

Verwendung von XAML-EigenschaftenelementenXAML Property Element Usage

<object>  
  <object.Triggers>  
    OneOrMoreTriggers  
  </object.Triggers>  
</object>  

XAML-WerteXAML Values

OneOrMoreTriggersOneOrMoreTriggers
NULL oder mehr TriggerBase -Objekte.Zero or more TriggerBase objects.

Gilt für:

Siehe auch