Udostępnij za pośrednictwem


DataTemplate.Triggers Właściwość

Definicja

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

TriggerCollection

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.

Dotyczy

Zobacz też