Condividi tramite


TriggerBase Classe

Definizione

Rappresenta la classe base per specificare un valore condizionale all'interno di un Style oggetto .

public ref class TriggerBase abstract : System::Windows::DependencyObject
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public abstract class TriggerBase : System.Windows.DependencyObject
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type TriggerBase = class
    inherit DependencyObject
Public MustInherit Class TriggerBase
Inherits DependencyObject
Ereditarietà
Derivato
Attributi

Esempio

Esistono diversi tipi di trigger: Trigger, MultiTrigger, EventTrigger, DataTriggere MultiDataTrigger.

La Trigger classe è il tipo più semplice di trigger. Un Trigger oggetto consente di applicare modifiche in base al valore di una proprietà. Nell'esempio seguente, ad esempio, viene illustrato un oggetto denominato Style disponibile per i Button controlli. Style Definisce un Trigger elemento che modifica la Foreground proprietà di un pulsante quando la IsPressed proprietà è true.

<Style x:Key="Triggers" TargetType="Button">
    <Style.Triggers>
    <Trigger Property="IsPressed" Value="true">
        <Setter Property = "Foreground" Value="Green"/>
    </Trigger>
    </Style.Triggers>
</Style>

Se è necessario applicare le modifiche in base allo stato di più proprietà, è possibile usare .MultiTrigger Per un esempio, vedere la MultiTrigger pagina.

La EventTrigger classe consente di applicare modifiche quando si verifica un evento. L'esempio seguente contiene due EventTrigger oggetti, uno dei quali si verifica quando il mouse entra nell'elemento e l'altro si verifica quando il mouse lascia l'elemento.

<Style TargetType="Rectangle">
  <Setter Property="Width" Value="50" />
  <Setter Property="Height" Value="50" />
  <Setter Property="Margin" Value="20" />
  <Setter Property="HorizontalAlignment" Value="Left" />
  <Style.Triggers>
    <EventTrigger RoutedEvent="MouseEnter">
        <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation To="300" Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
    <EventTrigger RoutedEvent="MouseLeave">
        <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
  </Style.Triggers>
</Style>

Queste sono anche le DataTrigger classi e MultiDataTrigger . Sono simili a Trigger e MultiTrigger ad eccezione del fatto che sono per le proprietà associate a dati.

Commenti

Il modello di applicazione di stili e modelli WPF consente di specificare i trigger all'interno Styledi , ControlTemplatee DataTemplate. Essenzialmente, TriggerBase è la classe di base per gli oggetti che consentono di applicare modifiche quando vengono soddisfatte determinate condizioni, ad esempio quando un determinato valore di proprietà diventa trueo quando si verifica un evento.

Proprietà

Nome Descrizione
DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
EnterActions

Ottiene una raccolta di TriggerAction oggetti da applicare quando l'oggetto trigger diventa attivo. Questa proprietà non si applica alla EventTrigger classe .

ExitActions

Ottiene una raccolta di TriggerAction oggetti da applicare quando l'oggetto trigger diventa inattivo. Questa proprietà non si applica alla EventTrigger classe .

IsSealed

Ottiene un valore che indica se questa istanza è attualmente sealed (sola lettura).

(Ereditato da DependencyObject)

Metodi

Nome Descrizione
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un DependencyProperty identificatore.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare viene specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
CoerceValue(DependencyProperty)

Forza il valore della proprietà di dipendenza specificata. A tale scopo, richiamare qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza così come esiste nella chiamata DependencyObjectdi .

(Ereditato da DependencyObject)
Equals(Object)

Determina se un oggetto specificato DependencyObject è equivalente all'oggetto corrente DependencyObject.

(Ereditato da DependencyObject)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare quali proprietà di dipendenza hanno valori impostati localmente in questo DependencyObjectoggetto .

(Ereditato da DependencyObject)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di un oggetto DependencyObject.

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Rivaluta il valore effettivo per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Richiamato ogni volta che il valore effettivo di qualsiasi proprietà di dipendenza in questo DependencyObject oggetto è stato aggiornato. La proprietà di dipendenza specifica modificata viene segnalata nei dati dell'evento.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificarne l'origine del valore.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dall'identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)

Si applica a

Vedi anche