Condividi tramite


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 un FrameworkElement costruito per impostazione predefinita è null.

Commenti

Style L'impostazione della proprietà direttamente 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 da un FrameworkElement.Style oggetto 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 Style. 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 Modelli di controllo XAML.

È 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 .Style 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 Style oggetto e Setters può anche essere considerato bloccato 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) genera un'eccezione Setters .

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 Style proprietà non restituisce stili provenienti da un modello applicato o da stati visivi attivi. Restituisce solo gli stili impostati in modo esplicito dalla Style proprietà . Inoltre, non restituisce stili impliciti.

Si applica a