DataTemplate.Triggers Eigenschaft

Definition

Ruft eine Auflistung von Triggern ab, die Eigenschaftswerte anwenden oder Aktionen anhand einer oder mehrerer 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

TriggerCollection

Eine Auflistung von Triggerobjekten. Der Standardwert ist null.

Attribute

Beispiele

Im Folgenden wird DataTemplate 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>

Das vollständige Beispiel finden Sie unter Data Binding Demo.

Hinweise

Wenn Sie Trigger in einer Datenvorlage erstellen, sollten die Setter der Trigger Eigenschaften festlegen, die sich im Bereich der Datenvorlage befinden. Andernfalls kann es besser geeignet sein, Trigger mithilfe einer Formatvorlage zu erstellen, die den Typ angibt, 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 des DataTemplateTyps befinden, 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 der Übersicht über die Daten-Templatierung.

Hinweis

Diese Eigenschaft kann nur in Extensible Application Markup Language (XAML) über die angezeigte Auflistungssyntax festgelegt werden, oder indem Sie auf das Auflistungsobjekt zugreifen und die verschiedenen Methoden wie Add verwenden. Die Eigenschaft zum Zugriff auf das Auflistungsobjekt selbst ist schreibgeschützt, die Auflistung selbst ist schreibgeschützt.

Verwendung von XAML-Eigenschaftenelementen

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

XAML-Werte

OneOrMoreTriggers
Null oder mehr TriggerBase Objekte.

Gilt für

Siehe auch