Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà DataTemplate.Triggers

 

Data di pubblicazione: ottobre 2016

Ottiene una raccolta di trigger che si applicano i valori delle proprietà o eseguire azioni in base a uno o più condizioni.

Spazio dei nomi:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

[DependsOnAttribute("VisualTree")]
[DependsOnAttribute("Template")]
public TriggerCollection Triggers { get; }

Valore proprietà

Type: System.Windows.TriggerCollection

Una raccolta di oggetti trigger. Il valore predefinito è null.

Se si sta creando trigger all'interno di un modello di dati, i metodi di impostazione dei trigger devono impostare le proprietà che rientrano nell'ambito del modello di dati. In caso contrario, potrebbe essere più appropriato creare trigger utilizzando uno stile destinato al tipo che contiene i dati. Ad esempio, se si associa un ListBox controllo, i contenitori sono ListBoxItem oggetti. Se si utilizza per impostare le proprietà che non rientrano nell'ambito del trigger il DataTemplate, quindi può essere più appropriato creare un ListBoxItem di stile e creare trigger all'interno di tale stile. Per ulteriori informazioni, vedere cosa appartiene un DataTemplate? nel Cenni preliminari sui modelli di dati.

System_CAPS_noteNota

Questa proprietà può essere impostata solo Extensible Application Markup Language (XAML) tramite la sintassi dell'insieme illustrata oppure accedendo all'oggetto collection e utilizzando i vari metodi, ad esempio Add. La proprietà per accedere all'oggetto raccolta è di sola lettura, l'insieme è di sola lettura.

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

OneOrMoreTriggers

Zero o più TriggerBase oggetti.

Nell'esempio DataTemplate viene illustrato come utilizzare il Triggers proprietà.

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

Per l'esempio completo, vedere Data Binding Demo.

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: