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á bude mít vliv na Background vlastnost Control .

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

Chcete-li použít výše uvedený styl, postupujte následovně:

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

Můžete také použít styly na všechny prvky daného typu pomocí TargetType Vlastnosti. Přidání cílového typu na styl znamená, že už nemusíte plně kvalifikovat vlastnost, kterou nastavujete pomocí ClassName.PropertyName syntaxe. Následující příklad definuje styl, který bude použit 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 sestává 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. Například pokud vytvoříte styl, který cílí na TextBlock ovládací prvky v Canvas , je styl použit pro všechny TextBlock ovládací prvky na plátně, i když TextBlock je součástí jiného ovládacího prvku, jako je například ListBox .

Informace o tom, jak roztáhnout nebo zdědit z definovaného stylu, najdete na BasedOn stránce.

Poznámky

Můžete nastavit Style na libovolný prvek, který je odvozen z FrameworkElement nebo FrameworkContentElement . Styl se nejčastěji deklaruje jako prostředek uvnitř Resources oddílu. 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. Pokud například deklarujete styl v kořenovém elementu souboru XAML definice aplikace, styl lze použít kdekoli v aplikaci. Pokud vytváříte navigační aplikaci a deklarujete styl v jednom ze souborů XAML aplikace, styl lze použít pouze v tomto souboru XAML. Další informace o pravidlech oboru pro prostředky naleznete v tématu prostředky XAML.

Deklarace stylu se skládá z Style objektu, který obsahuje kolekci jednoho nebo více Setter objektů. Každá Setter z nich se skládá z Property a a Value . Vlastnost je název vlastnosti prvku, na který se má styl vztahovat. Poté, co je styl deklarován jako prostředek, lze na něj odkazovat stejně jako jakýkoli jiný prostředek.

Poznámka

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

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

Další informace najdete v tématu stylování a šablonování.

Konstruktory

Style()

Inicializuje novou instanci Style třídy.

Style(Type)

Inicializuje novou instanci Style třídy, která se má použít pro zadaný objekt Type .

Style(Type, Style)

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

Vlastnosti

BasedOn

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

Dispatcher

Získá Dispatcher přidružený k DispatcherObject .

(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.

Resources

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

Setters

Získá kolekci Setter EventSetter objektů a.

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 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í hodnotu hash tohoto kódu Style .

GetType()

Získá Type aktuální instanci.

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

Vytvoří kopii aktuálního seznamu Object .

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

Zaregistruje novou dvojici název-objekt v aktuální namescope.

Seal()

Zamkne tento styl a všechny objekty pro vytváření a triggery, takže se nedá 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 oboru názvů.

VerifyAccess()

Vynutilo, aby volající vlákno měl přístup 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á poskytnutý identifikační název.

IQueryAmbient.IsAmbientPropertyAvailable(String)

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

Platí pro

Viz také