Style Třída

Definice

Umožňuje sdílení vlastností, prostředků a obslužných rutin událostí mezi instancemi typu.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
Dědičnost
Atributy
Implementuje

Příklady

Následující příklad ukazuje deklaraci stylu, která bude mít vliv na vlastnost Background Control.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>

Chcete-li použít výše uvedený styl, postupujte následovně:To apply the above style, do the following:

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

Můžete také použít styly na všechny prvky daného typu pomocí vlastnosti TargetType.You can also apply styles to all elements of a given type by using the TargetType property. Přidání cílového typu na styl znamená, že už nemusíte plně kvalifikovat vlastnost, kterou nastavujete pomocí syntaxe ClassName.PropertyName.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. Následující příklad definuje styl, který bude použit pro každý TextBlock element.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>

Poznámka

Mnoho ovládacích prvků WPFWPF sestává z kombinace jiných ovládacích prvků WPFWPF, takže vytvoření stylu, který platí pro všechny ovládací prvky typu, může mít velký dopad.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. Například pokud vytvoříte styl, který cílí na TextBlock ovládací prvky v Canvas, styl se použije na všechny TextBlock ovládací prvky na plátně, a to i v případě, že je TextBlock součástí jiného ovládacího prvku, jako je například ListBox.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.

Informace o tom, jak roztáhnout nebo zdědit z definovaného stylu, najdete na stránce BasedOn.For information on how to extend or inherit from a defined style, see the BasedOn page.

Poznámky

Můžete nastavit Style pro libovolný prvek, který je odvozen z FrameworkElement nebo FrameworkContentElement.You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. Styl se nejčastěji deklaruje jako prostředek uvnitř oddílu Resources.A style is most commonly declared as a resource inside the Resources section. Vzhledem k tomu, že styly jsou prostředky, řídí se stejnými pravidly pravidla, která se vztahují na všechny prostředky, takže pokud deklarujete styl, bude mít vliv na to, kde lze použít.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. Pokud například deklarujete styl v kořenovém elementu XAMLXAML souboru definice aplikace, styl lze použít kdekoli v aplikaci.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. Pokud vytváříte navigační aplikaci a deklarujete styl v jednom z XAMLXAML souborů aplikace, styl lze použít pouze v tomto XAMLXAML souboru.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. Další informace o pravidlech oboru pro prostředky naleznete v tématu prostředky XAML.For more information on scoping rules for resources, see XAML Resources.

Deklarace stylu se skládá z objektu Style, který obsahuje kolekci jednoho nebo více objektů Setter.The style declaration consists of a Style object that contains a collection of one or more Setter objects. Každý Setter se skládá z Property a Value.Each Setter consists of a Property and a Value. Vlastnost je název vlastnosti prvku, na který se má styl vztahovat.The property is the name of the property of the element the style is to apply to. Poté, co je styl deklarován jako prostředek, lze na něj odkazovat stejně jako jakýkoli jiný prostředek.After the style is declared as a resource, it can then be referenced just like any other resource.

Poznámka

Pokud existuje více než jedna metoda setter v kolekci setter se stejnou hodnotou Property vlastnosti, je použita metoda Setter, která je deklarována jako poslední.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. Podobně pokud nastavíte hodnotu pro stejnou vlastnost ve stylu a na prvek přímo, má přednost hodnota nastavená na elementu.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.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) stylů a šablonování modelu umožňuje údržbu a sdílení vzhledu a také oddělení prezentace a logiky.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. Model stylů a šablonování obsahuje sadu funkcí, které vám umožní přizpůsobit Uživatelské rozhraníUI.The styling and templating model includes a suite of features that enable you to customize your Uživatelské rozhraníUI. Tato sada funkcí obsahuje třídu Style a také následující:This suite of features includes the Style class as well as the following:

Další informace najdete v tématu stylování a šablonování.For more information, see Styling and Templating.

Konstruktory

Style()

Inicializuje novou instanci třídy Style třídy.Initializes a new instance of the Style class.

Style(Type)

Inicializuje novou instanci třídy Style, která se má použít u zadaného Type.Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style)

Inicializuje novou instanci třídy Style pro použití v zadaném Type a na základě zadaného Style.Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

Vlastnosti

BasedOn

Získá nebo nastaví definovaný styl, který je základem aktuálního stylu.Gets or sets a defined style that is the basis of the current style.

Dispatcher

Dispatcher ZískáDispatcherObject přidružený k.Gets the Dispatcher this DispatcherObject is associated with.

(Zděděno od DispatcherObject)
IsSealed

Získá hodnotu, která označuje, zda je styl určen jen pro čtení a nelze jej změnit.Gets a value that indicates whether the style is read-only and cannot be changed.

Resources

Získá nebo nastaví kolekci prostředků, které lze použít v rozsahu tohoto stylu.Gets or sets the collection of resources that can be used within the scope of this style.

Setters

Získá kolekci objektů Setter a EventSetter.Gets a collection of Setter and EventSetter objects.

TargetType

Získá nebo nastaví typ, pro který je tento styl určen.Gets or sets the type for which this style is intended.

Triggers

Získá kolekci TriggerBase objektů, které na základě zadaných podmínek aplikují hodnoty vlastností.Gets a collection of TriggerBase objects that apply property values based on specified conditions.

Metody

CheckAccess()

Určuje, zda má volající vlákno přístup DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)
Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Vrátí hodnotu hash tohoto Style.Returns the hash code for this Style.

GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

(Zděděno od Object)
RegisterName(String, Object)

Zaregistruje novou dvojici název-objekt v aktuální namescope.Registers a new name-object pair in the current namescope.

Seal()

Zamkne tento styl a všechny objekty pro vytváření a triggery, takže se nedá změnit.Locks this style and all factories and triggers so they cannot be changed.

ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)
UnregisterName(String)

Odebere mapování názvu objektu z namescope.Removes a name-object mapping from the namescope.

VerifyAccess()

Vynutilo, aby volající vlákno měl přístup DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

IAddChild.AddChild(Object)

Přidá podřízený objekt.Adds a child object.

IAddChild.AddText(String)

Přidá textový obsah uzlu do objektu.Adds the text content of a node to the object.

INameScope.FindName(String)

Vrátí objekt, který má poskytnutý identifikační název.Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Dotazuje se na to, jestli je v aktuálním oboru dostupná zadaná vlastnost Ambient.Queries whether a specified ambient property is available in the current scope.

ISealable.CanSeal
ISealable.IsSealed
ISealable.Seal()

Platí pro

Viz také