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 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>
Annotazioni
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 TextBlock fa 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 generalmente 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 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 ovunque nell'applicazione. Se stai creando un'applicazione di spostamento e dichiari lo stile in uno dei file XAML dell'applicazione, lo stile può essere usato solo in tale file XAML. Per altre informazioni sulle regole di definizione dell'ambito per le risorse, vedere 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 applicare lo stile. Dopo aver dichiarato lo stile come risorsa, è possibile farvi riferimento come qualsiasi altra risorsa.
Annotazioni
Se nell'insieme setter sono presenti 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 su un elemento direttamente, il valore impostato sull'elemento ha la precedenza direttamente.
Il modello di applicazione di modelli e stili di Windows Presentation Foundation (WPF) consente 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
| Nome | Descrizione |
|---|---|
| Style() |
Inizializza una nuova istanza della classe Style. |
| Style(Type, Style) |
Inizializza una nuova istanza della Style classe da utilizzare nell'oggetto specificato Type e in base all'oggetto specificato Style. |
| Style(Type) |
Inizializza una nuova istanza della Style classe da utilizzare nell'oggetto specificato Type. |
Proprietà
| Nome | Descrizione |
|---|---|
| BasedOn |
Ottiene o imposta uno stile definito che rappresenta la base dello stile corrente. |
| Dispatcher |
Ottiene l'oggetto DispatcherDispatcherObject a cui è associato. (Ereditato da DispatcherObject) |
| IsSealed |
Ottiene un valore che indica se lo stile è di sola lettura e non può essere modificato. |
| Resources |
Ottiene o imposta la raccolta di risorse che possono essere utilizzate nell'ambito di questo stile. |
| Setters |
Ottiene una raccolta di Setter oggetti e EventSetter . |
| TargetType |
Ottiene o imposta il tipo per il quale è previsto questo stile. |
| Triggers |
Ottiene una raccolta di oggetti che applicano i valori delle TriggerBase proprietà in base alle condizioni specificate. |
Metodi
| Nome | Descrizione |
|---|---|
| CheckAccess() |
Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto . (Ereditato da DispatcherObject) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Restituisce il codice hash per l'oggetto Style. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| RegisterName(String, Object) |
Registra una nuova coppia nome-oggetto nell'ambito dei nomi 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 di un oggetto nome dall'ambito dei nomi. |
| VerifyAccess() |
Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto . (Ereditato da DispatcherObject) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| 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 di identificazione specificato. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Esegue una query sull'eventuale disponibilità di una proprietà di ambiente specificata nell'ambito corrente. |