FrameworkElement.Style Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 unFrameworkElement.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.