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 influirà sulla Background proprietà di un oggetto Control.

<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 applicabile 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 oggetto Style su qualsiasi elemento che deriva da FrameworkElement o FrameworkContentElement. Uno stile viene in genere dichiarato come risorsa all'interno della Resources sezione . Poiché gli stili sono risorse, rispettano le stesse regole di ambito che si applicano a tutte le risorse, in modo che la dichiarazione di uno stile influisca sulla posizione in cui può essere applicata. Se, ad esempio, dichiari lo stile nell'elemento radice del file XAML di definizione dell'applicazione, lo stile può essere usato in qualsiasi punto dell'applicazione. Se stai creando un'applicazione di navigazione e dichiari lo stile in uno dei file XAML dell'applicazione, lo stile può essere usato solo in tale file XAML. Per altre informazioni sulla definizione dell'ambito delle regole per le risorse, vedi Risorse XAML.

La dichiarazione di stile è costituita da un Style oggetto che contiene una raccolta di uno o più Setter oggetti. Ognuno Setter è costituito da un Property oggetto e da un oggetto Value. La proprietà è il nome della proprietà dell'elemento a cui deve essere applicato lo stile. Dopo aver dichiarato lo stile come risorsa, è possibile farvi riferimento come qualsiasi altra risorsa.

Nota

Se nell'insieme setter è presente più setter con lo stesso Property valore della proprietà, viene utilizzato il setter dichiarato per ultimo. Analogamente, se si imposta un valore per la stessa proprietà in uno stile e in un elemento direttamente, il valore impostato sull'elemento ha la precedenza direttamente.

Lo stile e il modello di creazione modelli di Windows Presentation Foundation (WPF) consentono la manutenzione e la condivisione di un aspetto, nonché la separazione della presentazione e della logica. Il modello di applicazione 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