Style Classe

Definizione

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.

Si applica a

Vedi anche