Share via


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 objektu 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}" />

Pomocí vlastnosti můžete také použít styly pro všechny prvky daného typu TargetType . Přidání cílového typu do stylu znamená, že už nebudete muset plně kvalifikovat vlastnost, kterou nastavujete ClassName.PropertyName pomocí syntaxe. Následující příklad definuje styl, který se použije na 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 velký dopad. Pokud například vytvoříte styl, který cílí na TextBlock ovládací prvky v objektu Canvas, použije se styl 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 u libovolného Style prvku, který je odvozen z FrameworkElement nebo FrameworkContentElement. Styl se nejčastěji deklaruje jako prostředek uvnitř oddílu Resources . Vzhledem k tomu, že styly jsou prostředky, řídí se stejnými pravidly oborů, která platí pro všechny prostředky, takže to, kde deklarujete styl, má vliv na to, kde se dá použít. Pokud například deklarujete styl v kořenovém prvku souboru XAML definice aplikace, můžete styl použít kdekoli v aplikaci. Pokud vytváříte navigační aplikaci a deklarujete styl v jednom ze souborů XAML aplikace, můžete styl použít pouze v daném souboru XAML. Další informace o pravidlech vymezení rozsahu 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 PropertyValue. Vlastnost je název vlastnosti elementu, na který se má styl použít. 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ž jeden setter se stejnou Property hodnotou vlastnosti, použije setter, který je deklarován jako poslední. Podobně platí, že pokud nastavíte hodnotu pro stejnou vlastnost ve stylu a přímo u elementu, bude mít přednost přímo hodnota nastavená u elementu.

Model stylů a šablon Windows Presentation Foundation (WPF) umožňuje údržbu a sdílení vzhledu a také oddělení prezentace a logiky. Model stylů a šablon obsahuje 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 najdete v tématu Styling a šablony.

Konstruktory

Style()

Inicializuje novou instanci Style třídy.

Style(Type)

Inicializuje novou instanci Style třídy pro použití v zadané Type.

Style(Type, Style)

Inicializuje novou instanci Style třídy pro použití v zadané Type a na základě zadané Style.

Vlastnosti

BasedOn

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

Dispatcher

Získá přidruženou Dispatcher k tomuto DispatcherObject .

(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 rámci tohoto stylu.

Setters

Získá kolekci Setter objektů a EventSetter .

TargetType

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

Triggers

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

Metody

CheckAccess()

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

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

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

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

GetType()

Získá aktuální Type instanci.

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

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

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

Zaregistruje novou dvojici název-objekt v aktuálním oboru názvů.

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í name-object z namescope.

VerifyAccess()

Vynutí, aby volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

IAddChild.AddChild(Object)

Přidá podřízený objekt.

IAddChild.AddText(String)

Přidá textový obsah uzlu do objektu.

INameScope.FindName(String)

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

IQueryAmbient.IsAmbientPropertyAvailable(String)

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

Platí pro

Viz také