DataTemplate.Triggers Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera kolekcję wyzwalaczy, które stosują wartości właściwości lub wykonują akcje na podstawie co najmniej jednego warunków.
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
Wartość właściwości
Kolekcja obiektów wyzwalacza. Wartość domyślna to null
.
- Atrybuty
Przykłady
DataTemplate Poniżej przedstawiono użycie Triggers właściwości .
<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>
Aby zapoznać się z kompletnym przykładem, zobacz Pokaz powiązania danych.
Uwagi
Jeśli tworzysz wyzwalacze w szablonie danych, moduły ustawiające wyzwalacze powinny ustawiać właściwości znajdujące się w zakresie szablonu danych. W przeciwnym razie może być bardziej odpowiednie do tworzenia wyzwalaczy przy użyciu stylu, który jest przeznaczony dla typu zawierającego dane. Jeśli na przykład tworzysz powiązanie kontrolki ListBox , kontenery są ListBoxItem obiektami. Jeśli używasz wyzwalaczy do ustawiania właściwości, które nie należą do zakresu DataTemplateobiektu , może być bardziej odpowiednie do utworzenia ListBoxItem stylu i utworzenia wyzwalaczy w tym stylu. Aby uzyskać więcej informacji, zobacz What Belongs in a DataTemplate? (Co należy do elementu DataTemplate? w przeglądzie szablonów danych.
Uwaga
Tę właściwość można ustawić tylko w języku XAML (Extensible Application Markup Language) za pośrednictwem pokazanej składni kolekcji lub przez uzyskanie dostępu do obiektu kolekcji i użycie różnych metod, takich jak Add. Właściwość , aby uzyskać dostęp do samego obiektu kolekcji, jest tylko do odczytu, a sama kolekcja jest do odczytu i zapisu.
Użycie elementu właściwości języka XAML
<object>
<object.Triggers>
OneOrMoreTriggers
</object.Triggers>
</object>
Wartości XAML
OneOrMoreTriggers
Zero lub więcej TriggerBase obiektów.