FrameworkElement.Style Proprietà

Definizione

Ottiene o imposta uno stile di istanza applicato per questo oggetto durante il layout e il rendering.

public:
 property Style ^ Style { Style ^ get(); void set(Style ^ value); };
Style Style();

void Style(Style value);
public Style Style { get; set; }
var style = frameworkElement.style;
frameworkElement.style = style;
Public Property Style As Style
<frameworkElement Style="{StaticResource styleResourceKey}"/>

Valore della proprietà

Stile applicato per l'oggetto, se presente; in caso contrario, Null. Il valore predefinito per frameworkElement costruito per impostazione predefinita è Null.

Commenti

L'impostazione diretta della proprietà Style non è il modo più comune per stile dell'aspetto di un elemento dell'interfaccia utente. Si influenza invece l'aspetto di un elemento dell'interfaccia utente tramite una delle seguenti tecniche:

  • Spesso si impostano singole proprietà dell'interfaccia utente di un elemento dell'interfaccia utente come attributi in XAML. FrameworkElement.Style si applica solo all'elemento corrente e qualsiasi valore di styleFrameworkElement.Style viene sovrascritto da un valore della proprietà locale, quindi l'impostazione del valore locale è più diretta e più prevedibile. Per altre informazioni su come correlare un valore di stile e un valore della proprietà locale, vedere Panoramica delle proprietà di dipendenza.
  • Gli autori di controlli scrivono in genere un controllo che è templatable, ma anche con un modello predefinito. L'app può usare il controllo e modificarne l'aspetto fornendo un nuovo ControlloTemplate, che fa parte di uno stile definito nelle risorse. Questo stile viene in genere applicato usando la funzionalità di stile implicito , non impostando Stile. Per altre informazioni, vedere Controlli di stile.
  • Gli autori di controlli espongono anche le proprietà che fanno riferimento a parti di un controllo che possono avere stili o valori applicati solo a tale parte, quindi non è necessario eseguire completamente la retemplate del controllo. Qui si imposta una proprietà più specifica, non FrameworkElement.Style.
  • Il modello di stato visivo reimposta spesso lo stile del controllo in fase di esecuzione in risposta alle modifiche negli stati che si manifestano agli utenti visivamente. Ad esempio, i modelli di controllo hanno in genere uno stato "Focus" che aggiunge un indicatore di stato attivo visivo all'aspetto del controllo in modo che un utente della tastiera possa vedere quale elemento nell'interfaccia utente ha lo stato attivo della tastiera corrente. Per altre informazioni sul concetto di stato visivo, vedere Avvio rapido: Modelli di controllo.

È possibile modificare i valori delle singole proprietà impostate all'interno di uno stile. Ad esempio, è possibile impostare la proprietà Template in fase di esecuzione anche se questa proprietà è stata impostata in base a uno stile. In alternativa, è possibile aggiungere setters alla raccolta in Setters. Tuttavia, non appena tale stile viene inserito in uso da un oggetto caricato, lo stile deve essere considerato bloccato. È possibile rilevare questo stato controllando il valore di IsSealed per lo stile. Uno stile viene considerato in uso non appena viene fatto riferimento a un oggetto caricato connesso all'albero degli oggetti di una pagina visualizzata dell'interfaccia utente. Un oggetto Style e i relativi Setters possono essere considerati anche sigillati quando l'oggetto che usa tale stile genera l'evento Caricato. Il tentativo di modificare una singola proprietà di uno stile in uso (ad esempio una proprietà nell'insieme Setters ) genera un'eccezione.

Le classi derivate da Control hanno un punto di ingresso aggiuntivo utile per controllare gli autori in merito allo stile e all'applicazione modello. FrameworkElement definisce il callback virtuale OnApplyTemplate richiamato prima del caricamento. Le classi derivate da Control possono eseguire l'override di questo callback per modificare i valori delle proprietà impostati dai modelli prima che lo stile sia in uso.

Se viene eseguita una query in fase di esecuzione, la proprietà Style non restituisce stili provenienti da un modello applicato o da stati visivi attivi. Restituisce solo gli stili impostati in modo esplicito dalla proprietà Style. Inoltre, non restituisce stili impliciti.

Si applica a