Freigeben über


DataTemplate.Triggers Eigenschaft

Definition

Ruft eine Auflistung von Triggern ab, die Eigenschaftswerte anwenden oder Aktionen basierend auf einer oder mehreren Bedingungen ausführen.

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

Eigenschaftswert

Eine Auflistung von Triggerobjekten. Der Standardwert ist null.

Attribute

Beispiele

Im Folgenden DataTemplate wird die Verwendung der Triggers Eigenschaft veranschaulicht.

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

Hinweise

Wenn Sie Trigger in einer Datenvorlage erstellen, sollten die Setter der Trigger Eigenschaften festlegen, die sich im Bereich der Datenvorlage befinden. Andernfalls ist es möglicherweise besser geeignet, Trigger mithilfe einer Formatvorlage zu erstellen, die auf den Typ ausgerichtet ist, der die Daten enthält. Wenn Sie beispielsweise ein ListBox Steuerelement binden, sind ListBoxItem die Container Objekte. Wenn Sie Trigger verwenden, um Eigenschaften festzulegen, die sich nicht im Bereich des Bereichs befinden DataTemplate, ist es möglicherweise besser geeignet, eine ListBoxItem Formatvorlage zu erstellen und Trigger innerhalb dieser Formatvorlage zu erstellen. Weitere Informationen finden Sie unter Was gehört in einer DataTemplate? in the Data Templating Overview.

Hinweis

Diese Eigenschaft kann nur in Xaml (Extensible Application Markup Language) über die angezeigte Auflistungssyntax oder durch Den Zugriff auf das Auflistungsobjekt und die verwendung der verschiedenen Methoden wie Add festgelegt werden. Die Eigenschaft für den Zugriff auf das Auflistungsobjekt selbst ist schreibgeschützt, die Auflistung selbst ist schreibgeschützt.

XAML-Eigenschaftselementverwendung

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

XAML-Werte

OneOrMoreTriggers
Null oder mehr TriggerBase Objekte.

Gilt für:

Weitere Informationen