Style Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Umożliwia udostępnianie właściwości, zasobów i procedur obsługi zdarzeń między wystąpieniami 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
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie pokazano deklarację stylu, która będzie mieć wpływ na Background właściwość Control.
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
Aby zastosować powyższy styl, wykonaj następujące czynności:
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
Style można również zastosować do wszystkich elementów danego typu przy użyciu TargetType właściwości . Dodanie typu docelowego do stylu oznacza, że nie trzeba już w pełni kwalifikować właściwości ustawianych za ClassName.PropertyName pomocą składni. W poniższym przykładzie zdefiniowano styl, który zostanie zastosowany do każdego TextBlock elementu.
<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>
Uwaga / Notatka
Wiele kontrolek WPF składa się z kombinacji innych kontrolek WPF, więc utworzenie stylu stosowanego do wszystkich kontrolek typu może mieć szeroki wpływ. Jeśli na przykład utworzysz styl przeznaczony TextBlock dla kontrolek w Canvasobiekcie , styl zostanie zastosowany do wszystkich TextBlock kontrolek na kanwie, nawet jeśli TextBlock element jest częścią innej kontrolki, takiej jak ListBox.
Aby uzyskać informacje na temat rozszerzania lub dziedziczenia ze zdefiniowanego stylu, zobacz BasedOn stronę.
Uwagi
Można ustawić Style dla dowolnego elementu, który pochodzi z FrameworkElement lub FrameworkContentElement. Styl jest najczęściej deklarowany jako zasób wewnątrz Resources sekcji. Ponieważ style są zasobami, przestrzegają tych samych reguł określania zakresu, które mają zastosowanie do wszystkich zasobów, dzięki czemu deklarowanie stylu wpływa na to, gdzie można go zastosować. Jeśli na przykład zadeklarujesz styl w elemecie głównym pliku XAML definicji aplikacji, styl może być używany w dowolnym miejscu w aplikacji. Jeśli tworzysz aplikację nawigacji i deklarujesz styl w jednym z plików XAML aplikacji, styl może być używany tylko w tym pliku XAML. Aby uzyskać więcej informacji na temat reguł określania zakresu dla zasobów, zobacz Zasoby XAML.
Deklaracja stylu składa się z Style obiektu zawierającego kolekcję co najmniej jednego Setter obiektu. Każda Setter z nich składa się z elementu Property i Value. Właściwość jest nazwą właściwości elementu, do których należy zastosować styl. Po zadeklarowaniu stylu jako zasobu można odwoływać się tak samo jak w przypadku dowolnego innego zasobu.
Uwaga / Notatka
Jeśli w kolekcji setter istnieje więcej niż jeden zestaw o tej samej Property wartości właściwości, zostanie użyty zestaw zadeklarowany jako ostatni. Podobnie, jeśli ustawisz wartość dla tej samej właściwości w stylu i bezpośrednio na elemencie, wartość ustawiona na elemencie bezpośrednio ma pierwszeństwo.
Model stylów i tworzenia szablonów programu Windows Presentation Foundation (WPF) umożliwia konserwację i udostępnianie wyglądu, a także rozdzielenie prezentacji i logiki. Model stylów i tworzenia szablonów zawiera zestaw funkcji, które umożliwiają dostosowanie interfejsu użytkownika. Ten pakiet funkcji obejmuje klasę Style , a także następujące elementy:
Aby uzyskać więcej informacji, zobacz Styling and Templating (Styling and Templating).
Konstruktory
| Nazwa | Opis |
|---|---|
| Style() |
Inicjuje nowe wystąpienie klasy Style. |
| Style(Type, Style) |
Inicjuje nowe wystąpienie Style klasy do użycia w określonym Type i na podstawie określonego Styleelementu . |
| Style(Type) |
Inicjuje Style nowe wystąpienie klasy do użycia w określonym Typeobiekcie . |
Właściwości
| Nazwa | Opis |
|---|---|
| BasedOn |
Pobiera lub ustawia zdefiniowany styl, który jest podstawą bieżącego stylu. |
| Dispatcher |
Pobiera elementDispatcher, z który DispatcherObject jest skojarzony. (Odziedziczone po DispatcherObject) |
| IsSealed |
Pobiera wartość wskazującą, czy styl jest tylko do odczytu i nie można go zmienić. |
| Resources |
Pobiera lub ustawia kolekcję zasobów, które mogą być używane w zakresie tego stylu. |
| Setters |
Pobiera kolekcję Setter obiektów i EventSetter . |
| TargetType |
Pobiera lub ustawia typ, dla którego jest przeznaczony ten styl. |
| Triggers |
Pobiera kolekcję TriggerBase obiektów, które stosują wartości właściwości na podstawie określonych warunków. |
Metody
| Nazwa | Opis |
|---|---|
| CheckAccess() |
Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
| Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| GetHashCode() |
Zwraca kod skrótu dla tego elementu Style. |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| RegisterName(String, Object) |
Rejestruje nową parę obiektów name-object w bieżącym horyzakresie nazw. |
| Seal() |
Blokuje ten styl i wszystkie fabryki i wyzwalacze, aby nie można było ich zmienić. |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
| UnregisterName(String) |
Usuwa mapowanie obiektów nazw z zakresu nazw. |
| VerifyAccess() |
Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| IAddChild.AddChild(Object) |
Dodaje obiekt podrzędny. |
| IAddChild.AddText(String) |
Dodaje do obiektu zawartość tekstową węzła. |
| INameScope.FindName(String) |
Zwraca obiekt, który ma podaną nazwę identyfikującą. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Kwerenda, czy określona właściwość otoczenia jest dostępna w bieżącym zakresie. |