Style Classe

Definizione

Abilita la condivisione di proprietà, risorse e gestori eventi tra istanze di un tipo.Enables the sharing of properties, resources, and event handlers between instances of a type.

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.Markup.IQueryAmbient
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
    interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Ereditarietà
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrata una dichiarazione di stile che Background influirà sulla proprietà Controldi un oggetto.The following example shows a style declaration that will affect the Background property of a Control.

<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

Per applicare lo stile precedente, eseguire le operazioni seguenti:To apply the above style, do the following:

<Label Content="Yellow Background" Style="{StaticResource Style1}" />

È inoltre possibile applicare stili a tutti gli elementi di un determinato tipo utilizzando la TargetType proprietà.You can also apply styles to all elements of a given type by using the TargetType property. L'aggiunta del tipo di destinazione allo stile significa che non è più necessario specificare in modo completo la proprietà che si sta ClassName.PropertyName impostando con la sintassi.Adding the target type to the style means that you no longer have to fully qualify the property you are setting with the ClassName.PropertyName syntax. Nell'esempio seguente viene definito uno stile che verrà applicato a ogni TextBlock elemento.The following example defines a style that will be applied to every TextBlock element.

<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 WPFWPF controlli sono costituiti da una combinazione WPFWPF di altri controlli, quindi la creazione di uno stile che si applica a tutti i controlli di un tipo può avere un ampio effetto.Many WPFWPF controls consist of a combination of other WPFWPF controls, so creating a style that applies to all controls of a type can have broad impact. Ad esempio, se si crea uno stile destinato ai TextBlock controlli in un oggetto Canvas, lo stile viene applicato a tutti TextBlock i TextBlock controlli nell'area di disegno, anche se fa parte di un altro controllo, ad ListBoxesempio.For instance, if you create a style that targets the TextBlock controls in a Canvas, the style is applied to all TextBlock controls in the canvas, even if the TextBlock is part of another control, such as a ListBox.

Per informazioni su come estendere o ereditare da uno stile definito, vedere la BasedOn pagina.For information on how to extend or inherit from a defined style, see the BasedOn page.

Commenti

È possibile impostare Style su qualsiasi elemento che deriva da FrameworkElement o FrameworkContentElement.You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. Uno stile viene generalmente dichiarato come una risorsa all'interno della Resources sezione.A style is most commonly declared as a resource inside the Resources section. Poiché gli stili sono risorse, rispettano le stesse regole di ambito che si applicano a tutte le risorse, quindi la posizione in cui si dichiara uno stile influiscono sul punto in cui può essere applicata.Because styles are resources, they obey the same scoping rules that apply to all resources, so where you declare a style affects where it can be applied. Se, ad esempio, si dichiara lo stile nell'elemento radice del file di definizione XAMLXAML dell'applicazione, lo stile può essere usato in qualsiasi punto dell'applicazione.If, for instance, you declare the style in the root element of your application definition XAMLXAML file, the style can be used anywhere in your application. Se si crea un'applicazione di navigazione e si dichiara lo stile in uno dei XAMLXAML file dell'applicazione, lo stile può essere usato solo in quel XAMLXAML file.If you are creating a navigation application and declare the style in one of the application's XAMLXAML files, the style can be used only in that XAMLXAML file. Per altre informazioni sulle regole di ambito per le risorse, vedere risorse XAML.For more information on scoping rules for resources, see XAML Resources.

La dichiarazione di stile è costituita da un Style oggetto che contiene una raccolta di uno o più Setter oggetti.The style declaration consists of a Style object that contains a collection of one or more Setter objects. Ogni Setter è costituito Property da un Valueoggetto e un oggetto.Each Setter consists of a Property and a Value. La proprietà è il nome della proprietà dell'elemento a cui si applica lo stile.The property is the name of the property of the element the style is to apply to. Dopo che lo stile è stato dichiarato come una risorsa, è possibile fare riferimento a esso come qualsiasi altra risorsa.After the style is declared as a resource, it can then be referenced just like any other resource.

Nota

Se nella raccolta Setter è presente più di un setter con lo stesso Property valore della proprietà, viene usato il metodo set dichiarato per ultimo.If there is more than one setter in the setter collection with the same Property property value, the setter that is declared last is used. Analogamente, se si imposta un valore per la stessa proprietà in uno stile e in un elemento direttamente, il valore impostato sull'elemento avrà la precedenza.Similarly, if you set a value for the same property in a style and on an element directly, the value set on the element directly takes precedence.

Il Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) modello di applicazione di stili e modelli consente la manutenzione e la condivisione di un aspetto, nonché la separazione di presentazione e logica.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. Il modello di applicazione di stili e modelli include una suite di funzionalità che consentono di Interfaccia utenteUIpersonalizzare il.The styling and templating model includes a suite of features that enable you to customize your Interfaccia utenteUI. Questa suite di funzionalità include la Style classe, nonché le seguenti:This suite of features includes the Style class as well as the following:

Per altre informazioni, vedere Applicazione di stili e modelli.For more information, see Styling and Templating.

Costruttori

Style()

Inizializza una nuova istanza della classe Style.Initializes a new instance of the Style class.

Style(Type)

Inizializza una nuova istanza della classe Style da utilizzare sull’oggetto Type specificato.Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style)

Inizializza una nuova istanza della classe Style da utilizzare sull’oggetto Type specificato e basata sull’oggetto Style specificato.Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

Proprietà

BasedOn

Ottiene o imposta uno stile definito che è la base dello stile corrente.Gets or sets a defined style that is the basis of the current style.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Ereditato da DispatcherObject)
IsSealed

Ottiene un valore che indica se questo stile è di sola lettura e non può essere modificato.Gets a value that indicates whether the style is read-only and cannot be changed.

Resources

Ottiene o imposta l'insieme di risorse che possono essere utilizzate all'interno dell'ambito di questo stile.Gets or sets the collection of resources that can be used within the scope of this style.

Setters

Ottiene un insieme di oggetti Setter e EventSetter.Gets a collection of Setter and EventSetter objects.

TargetType

Ottiene o imposta il tipo cui è destinato questo stile.Gets or sets the type for which this style is intended.

Triggers

Ottiene un insieme di oggetti TriggerBase che applicano valori di proprietà in base a condizioni specificate.Gets a collection of TriggerBase objects that apply property values based on specified conditions.

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Restituisce il codice hash per questo Style.Returns the hash code for this Style.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
RegisterName(String, Object)

Iscrive una nuova coppia nome-oggetto nel NameScope corrente.Registers a new name-object pair in the current namescope.

Seal()

Blocca questo stile e tutte le factory e i trigger in modo che non possano essere modificati.Locks this style and all factories and triggers so they cannot be changed.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
UnregisterName(String)

Rimuove un mapping nome-oggetto dal NameScope.Removes a name-object mapping from the namescope.

VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)

Implementazioni dell'interfaccia esplicita

IAddChild.AddChild(Object)

Aggiunge un oggetto figlio.Adds a child object.

IAddChild.AddText(String)

Aggiunge il contenuto di testo di un nodo all'oggetto.Adds the text content of a node to the object.

INameScope.FindName(String)

Restituisce un oggetto che ha il nome identificativo fornito.Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Esegue una query per determinare se una proprietà di ambiente specificata è disponibile nell'ambito corrente.Queries whether a specified ambient property is available in the current scope.

ISealable.CanSeal
ISealable.IsSealed
ISealable.Seal()

Si applica a

Vedi anche