Sdílet prostřednictvím


Style Třída

Definice

Umožňuje sdílení vlastností, prostředků a obslužných rutin událostí mezi instancemi typu.

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
Dědičnost
Atributy
Implementuje

Příklady

Následující příklad ukazuje deklaraci stylu, která ovlivní Background vlastnost .Control

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

Pokud chcete použít výše uvedený styl, postupujte takto:

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

Styly můžete použít také u všech prvků daného typu pomocí TargetType vlastnosti. Přidání cílového typu do stylu znamená, že už nemusíte plně opravovat vlastnost, kterou nastavujete pomocí ClassName.PropertyName syntaxe. Následující příklad definuje styl, který se použije pro každý TextBlock prvek.

<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ů WPF se skládá z kombinace jiných ovládacích prvků WPF, takže vytvoření stylu, který platí pro všechny ovládací prvky typu, může mít široký dopad. Pokud například vytvoříte styl, který cílí na TextBlock ovládací prvky v objektu Canvas, styl se použije na všechny TextBlock ovládací prvky na plátně, i když TextBlock je součástí jiného ovládacího prvku, například ListBox.

Informace o tom, jak rozšířit nebo dědit z definovaného stylu, najdete na BasedOn stránce.

Poznámky

Můžete nastavit na Style libovolný prvek, který je odvozen od FrameworkElement nebo FrameworkContentElement. Styl je nejčastěji deklarován jako prostředek uvnitř oddílu Resources . Vzhledem k tomu, že styly jsou prostředky, dodržují stejná pravidla oborů, která platí pro všechny prostředky, takže tam, kde deklarujete styl, kde se dá použít. Pokud například deklarujete styl v kořenovém prvku souboru XAML definice vaší aplikace, můžete styl použít kdekoli v aplikaci. Pokud vytváříte navigační aplikaci a deklarujete styl v jednom ze souborů XAML aplikace, lze tento styl použít pouze v daném souboru XAML. Další informace o pravidlech oborů pro prostředky najdete v tématu Prostředky XAML.

Deklarace stylu se skládá z objektu Style , který obsahuje kolekci jednoho nebo více Setter objektů. Každý Setter se skládá z a PropertyValuea . Vlastnost je název vlastnosti prvku, na který se styl vztahuje. Jakmile je styl deklarován jako prostředek, můžete na něj odkazovat stejně jako na jakýkoli jiný prostředek.

Poznámka:

Pokud je v kolekci setter více než jedna setter se stejnou Property hodnotou vlastnosti, použije setter, která je deklarována jako poslední. Podobně pokud nastavíte hodnotu pro stejnou vlastnost ve stylu a na element přímo, hodnota nastavená na element přímo má přednost.

Styling a šablonovací model Windows Presentation Foundation (WPF) umožňuje údržbu a sdílení vzhledu a také oddělení prezentace a logiky. Model stylů a šablon zahrnuje sadu funkcí, které umožňují přizpůsobit uživatelské rozhraní. Tato sada funkcí zahrnuje Style třídu a také následující:

Další informace naleznete v tématu Styling a Šablonování.

Konstruktory

Name Description
Style()

Inicializuje novou instanci Style třídy.

Style(Type, Style)

Inicializuje novou instanci Style třídy, která se použije na zadaném Type a na základě zadaného Style.

Style(Type)

Inicializuje novou instanci Style třídy použít na zadané Type.

Vlastnosti

Name Description
BasedOn

Získá nebo nastaví definovaný styl, který je základem aktuálního stylu.

Dispatcher

Dispatcher Získá toto DispatcherObject je přidružené.

(Zděděno od DispatcherObject)
IsSealed

Získá hodnotu, která označuje, zda je styl jen pro čtení a nelze změnit.

Resources

Získá nebo nastaví kolekci prostředků, které lze použít v oboru tohoto stylu.

Setters

Získá kolekci Setter a EventSetter objekty.

TargetType

Získá nebo nastaví typ, pro který je tento styl určen.

Triggers

Získá kolekci objektů, které aplikují TriggerBase hodnoty vlastností na základě zadaných podmínek.

Metody

Name Description
CheckAccess()

Určuje, zda volající vlákno má přístup k tomuto DispatcherObject.

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

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Vrátí kód hash pro tento Stylekód .

GetType()

Získá Type aktuální instance.

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

Vytvoří mělkou kopii aktuálního Object.

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

Zaregistruje novou dvojici name-object v aktuálním názvovém oboru.

Seal()

Uzamkne tento styl a všechny továrny a triggery, aby je nebylo možné změnit.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

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

Odebere mapování objektu name-object z názvového oboru.

VerifyAccess()

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

Name Description
IAddChild.AddChild(Object)

Přidá podřízený objekt.

IAddChild.AddText(String)

Přidá do objektu textový obsah uzlu.

INameScope.FindName(String)

Vrátí objekt, který má zadaný název identifikace.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Dotazuje, zda je zadaná okolí vlastnost k dispozici v aktuálním oboru.

Platí pro

Viz také