DataTemplate.Triggers Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en samling utlösare som tillämpar egenskapsvärden eller utför åtgärder baserat på ett eller flera villkor.
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
Egenskapsvärde
En samling utlösarobjekt. Standardvärdet är null.
- Attribut
Exempel
Följande DataTemplate visar hur egenskapen används Triggers .
<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>
Kommentarer
Om du skapar utlösare i en datamall bör utlösarnas uppsättningar ange egenskaper som ligger inom datamallens omfång. Annars kan det vara lämpligare att skapa utlösare med ett format som är avsett för den typ som innehåller data. Om du till exempel binder en ListBox kontroll är ListBoxItem containrarna objekt. Om du använder utlösare för att ange egenskaper som inte ligger inom omfånget DataTemplateför kan det vara lämpligare att skapa ett ListBoxItem format och skapa utlösare inom det formatet. Mer information finns i Vad hör hemma i en DataTemplate? i översikten över data templating.
Note
Den här egenskapen kan bara anges i XAML (Extensible Application Markup Language) via samlingssyntaxen som visas, eller genom att komma åt samlingsobjektet och använda dess olika metoder, till exempel Lägg till. Egenskapen för att komma åt själva samlingsobjektet är skrivskyddad. Själva samlingen är skrivskyddad.
Användning av XAML-egenskapselement
<object>
<object.Triggers>
OneOrMoreTriggers
</object.Triggers>
</object>
XAML-värden
OneOrMoreTriggers
Noll eller fler TriggerBase objekt.