Style Classe
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.
Abilita la condivisione di proprietà, risorse e gestori eventi tra istanze di un tipo.
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
interface IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface IAddChild
interface INameScope
interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
- Ereditarietà
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente viene illustrata una dichiarazione di stile che influisce sulla Background proprietà di un Controloggetto .
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
Per applicare lo stile precedente, eseguire le operazioni seguenti:
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
È anche possibile applicare stili a tutti gli elementi di un determinato tipo usando la TargetType proprietà . L'aggiunta del tipo di destinazione allo stile significa che non è più necessario qualificare completamente la proprietà impostata con la ClassName.PropertyName
sintassi. Nell'esempio seguente viene definito uno stile che verrà applicato a ogni TextBlock elemento.
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Segoe Black" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontSize" Value="12pt" />
<Setter Property="Foreground" Value="#777777" />
</Style>
Nota
Molti controlli WPF sono costituiti da una combinazione di altri controlli WPF, quindi la creazione di uno stile che si applica a tutti i controlli di un tipo può avere un impatto generale. Ad esempio, se si crea uno stile destinato ai TextBlock controlli in un Canvasoggetto , lo stile viene applicato a tutti i TextBlock controlli nell'area di disegno, anche se fa TextBlock parte di un altro controllo, ad esempio .ListBox
Per informazioni su come estendere o ereditare da uno stile definito, vedere la BasedOn pagina.
Commenti
È possibile impostare un Style oggetto su qualsiasi elemento che deriva da FrameworkElement o FrameworkContentElement. Uno stile è più comunemente dichiarato come risorsa all'interno della Resources sezione. Poiché gli stili sono risorse, obbediscono alle stesse regole di ambito che si applicano a tutte le risorse, in modo da dichiarare un effetto sullo stile in cui può essere applicato. Se, ad esempio, si dichiara lo stile nell'elemento radice del file XAML di definizione dell'applicazione, lo stile può essere usato ovunque nell'applicazione. Se si crea un'applicazione di spostamento e si dichiara lo stile in uno dei file XAML dell'applicazione, lo stile può essere usato solo nel file XAML. Per altre informazioni sulle regole di ambito per le risorse, vedere Risorse XAML.
La dichiarazione di stile è costituita da un Style oggetto contenente una raccolta di uno o più Setter oggetti. Ognuno Setter è costituito da un Property oggetto e da un Valueoggetto . La proprietà è il nome della proprietà dell'elemento a cui si applica lo stile. Dopo aver dichiarato lo stile come risorsa, può quindi essere fatto riferimento esattamente come qualsiasi altra risorsa.
Nota
Se nell'insieme setter è presente più di un setter con lo stesso Property valore della proprietà, viene usato il setter dichiarato ultimo. Analogamente, se si imposta un valore per la stessa proprietà in uno stile e su un elemento direttamente, il valore impostato sull'elemento assume direttamente la precedenza.
Lo stile Windows Presentation Foundation (WPF) e il modello di templating consente la manutenzione e la condivisione di un aspetto, nonché la separazione della presentazione e della logica. Il modello di stili e modelli include una suite di funzionalità che consentono di personalizzare l'interfaccia utente. Questa suite di funzionalità include la Style classe e le seguenti:
Per altre informazioni, vedere Applicazione di stili e modelli.
Costruttori
Style() |
Inizializza una nuova istanza della classe Style. |
Style(Type) |
Inizializza una nuova istanza della classe Style da utilizzare sull’oggetto Type specificato. |
Style(Type, Style) |
Inizializza una nuova istanza della classe Style da utilizzare sull’oggetto Type specificato e basata sull’oggetto Style specificato. |
Proprietà
BasedOn |
Ottiene o imposta uno stile definito che è la base dello stile corrente. |
Dispatcher |
Ottiene l'oggetto Dispatcher associato a DispatcherObject. (Ereditato da DispatcherObject) |
IsSealed |
Ottiene un valore che indica se questo stile è di sola lettura e non può essere modificato. |
Resources |
Ottiene o imposta l'insieme di risorse che possono essere utilizzate all'interno dell'ambito di questo stile. |
Setters |
Ottiene un insieme di oggetti Setter e EventSetter. |
TargetType |
Ottiene o imposta il tipo cui è destinato questo stile. |
Triggers |
Ottiene un insieme di oggetti TriggerBase che applicano valori di proprietà in base a condizioni specificate. |
Metodi
CheckAccess() |
Determina se il thread chiamante ha accesso a DispatcherObject. (Ereditato da DispatcherObject) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Restituisce il codice hash per questo oggetto Style. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
RegisterName(String, Object) |
Iscrive una nuova coppia nome-oggetto nel NameScope corrente. |
Seal() |
Blocca questo stile e tutte le factory e i trigger in modo che non possano essere modificati. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
UnregisterName(String) |
Rimuove un mapping nome-oggetto dal NameScope. |
VerifyAccess() |
Impone che il thread chiamante abbia accesso a DispatcherObject. (Ereditato da DispatcherObject) |
Implementazioni dell'interfaccia esplicita
IAddChild.AddChild(Object) |
Aggiunge un oggetto figlio. |
IAddChild.AddText(String) |
Aggiunge il contenuto di testo di un nodo all'oggetto. |
INameScope.FindName(String) |
Restituisce un oggetto con il nome identificativo specificato. |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
Esegue una query per determinare se una proprietà di ambiente specificata è disponibile nell'ambito corrente. |