Style Sınıf

Tanım

Özelliklerin, kaynakların ve olay işleyicilerinin bir tür örnekleri arasında paylaşılmasını mümkün.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
public ref 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")]
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")>]
type Style = class
    inherit DispatcherObject
    interface IAddChild
    interface INameScope
    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 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
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Devralma
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek, öğesinin özelliğini etkileyecek bir stil bildirimi gösterir 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>

Yukarıdaki stili uygulamak için aşağıdakileri yapın:To apply the above style, do the following:

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

Ayrıca, özelliğini kullanarak, belirli bir türün tüm öğelerine stiller uygulayabilirsiniz TargetType .You can also apply styles to all elements of a given type by using the TargetType property. Hedef türü stile eklemek, artık söz dizimi ile ayarladığınız özelliği tam olarak nitelemeniz gerekmediği anlamına gelir 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. Aşağıdaki örnek, her öğesine uygulanacak bir stil tanımlar TextBlock .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>

Not

Birçok WPFWPF Denetim diğer denetimlerin birleşiminden oluşur WPFWPF , bu nedenle bir türün tüm denetimlerine uygulanan bir stil oluşturmak geniş bir etkiye sahip olabilir.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. Örneğin, içindeki denetimleri hedefleyen bir stil oluşturursanız, stili, TextBlock Canvas TextBlock başka bir denetimin parçası olsa bile, tuvaldeki tüm denetimlere uygulanır TextBlock 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.

Tanımlı bir stili genişletme veya devralma hakkında daha fazla bilgi için BasedOn sayfasına bakın.For information on how to extend or inherit from a defined style, see the BasedOn page.

Açıklamalar

StyleVeya ' den türetilen herhangi bir öğe için ayarlayabilirsiniz FrameworkElement FrameworkContentElement .You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. Bir stil, genellikle bölüm içinde kaynak olarak bildirilmiştir Resources .A style is most commonly declared as a resource inside the Resources section. Stiller kaynak olduğundan, her kaynak için de aynı kapsam kurallarına uyduklarında, bu sayede bir stil, uygulanabileceğini nerede uygulayacağınızı bildirir.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. Örneğin, stili uygulama tanımı dosyanızın kök öğesinde bildirirseniz, XAMLXAML Stil uygulamanızda herhangi bir yerde kullanılabilir.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. Bir gezinti uygulaması oluşturuyorsanız ve stili uygulamanın dosyalarından birinde bildirirseniz XAMLXAML , stil yalnızca bu XAMLXAML dosyada kullanılabilir.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. Kaynaklarla ilgili kapsam kuralları hakkında daha fazla bilgi için bkz. xaml kaynakları.For more information on scoping rules for resources, see XAML Resources.

Stil bildirimi bir Style veya daha fazla nesne koleksiyonu içeren bir nesneden oluşur Setter .The style declaration consists of a Style object that contains a collection of one or more Setter objects. Her biri Setter bir Property ve bir içerir Value .Each Setter consists of a Property and a Value. Özelliği, stilin uygulanacağı öğenin özelliğinin adıdır.The property is the name of the property of the element the style is to apply to. Stil bir kaynak olarak bildirildiğinde, daha sonra başka bir kaynakla aynı şekilde başvurulabilirler.After the style is declared as a resource, it can then be referenced just like any other resource.

Not

Ayarlayıcı koleksiyonunda aynı özellik değerine sahip birden fazla ayarlayıcı varsa Property , son olarak belirtilen ayarlayıcı kullanılır.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. Benzer şekilde, bir stilde ve doğrudan bir öğede aynı özellik için bir değer ayarlarsanız, öğesinde ayarlanan değer doğrudan öncelik kazanır.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)Stil ve şablon oluşturma modeli, bir görünüm bakım ve paylaşımına, ayrıca sununun ve mantığın ayrılmasını sağlar.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. Stil ve şablon oluşturma modeli, özelleştirmenizi sağlayan bir özellik paketi içerir Kullanıcı arabirimiUI .The styling and templating model includes a suite of features that enable you to customize your Kullanıcı arabirimiUI. Bu özellik paketi, Style sınıfının yanı sıra aşağıdakiler de içerir:This suite of features includes the Style class as well as the following:

Daha fazla bilgi için bkz. Stil oluşturma ve şablonoluşturma.For more information, see Styling and Templating.

Oluşturucular

Style()

Style sınıfının yeni bir örneğini başlatır.Initializes a new instance of the Style class.

Style(Type)

StyleBelirtilen ' de kullanılmak üzere sınıfının yeni bir örneğini başlatır Type .Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style)

Belirtilen Style ve belirtilen temel alınarak kullanılmak üzere sınıfının yeni bir örneğini başlatır Type Style .Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

Özellikler

BasedOn

Geçerli stilin temelini oluşturan tanımlanmış bir stili alır veya ayarlar.Gets or sets a defined style that is the basis of the current style.

Dispatcher

Dispatcher DispatcherObject İle ilişkili olduğunu alır.Gets the Dispatcher this DispatcherObject is associated with.

(Devralındığı yer: DispatcherObject)
IsSealed

Stilin salt okunurdur ve değiştirilemez olup olmadığını belirten bir değer alır.Gets a value that indicates whether the style is read-only and cannot be changed.

Resources

Bu stilin kapsamı içinde kullanılabilecek kaynakların koleksiyonunu alır veya ayarlar.Gets or sets the collection of resources that can be used within the scope of this style.

Setters

Ve nesnelerinin bir koleksiyonunu Setter alır EventSetter .Gets a collection of Setter and EventSetter objects.

TargetType

Bu stilin amaçlanan türünü alır veya ayarlar.Gets or sets the type for which this style is intended.

Triggers

TriggerBaseBelirtilen koşullara göre özellik değerlerini uygulayan nesne koleksiyonunu alır.Gets a collection of TriggerBase objects that apply property values based on specified conditions.

Yöntemler

CheckAccess()

Çağıran iş parçacığının bu öğesine erişip erişemeyeceğini belirler DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Devralındığı yer: DispatcherObject)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetHashCode()

Bunun için karma kodu döndürür Style .Returns the hash code for this Style.

GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
RegisterName(String, Object)

Geçerli NameScope 'a yeni bir ad-nesne çifti kaydeder.Registers a new name-object pair in the current namescope.

Seal()

Bu stili ve tüm fabrikaları ve Tetikleyicileri kilitleyerek, bu nedenle değiştirilemezler.Locks this style and all factories and triggers so they cannot be changed.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
UnregisterName(String)

NameScope 'dan bir ad nesnesi eşlemesini kaldırır.Removes a name-object mapping from the namescope.

VerifyAccess()

Çağıran iş parçacığının buna erişimi olmasını zorlar DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Devralındığı yer: DispatcherObject)

Belirtik Arabirim Kullanımları

IAddChild.AddChild(Object)

Bir alt nesne ekler.Adds a child object.

IAddChild.AddText(String)

Bir düğümün metin içeriğini nesneye ekler.Adds the text content of a node to the object.

INameScope.FindName(String)

Belirtilen tanımlama adına sahip bir nesne döndürür.Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Geçerli kapsamda belirtilen ortam özelliğinin kullanılabilir olup olmadığını sorgular.Queries whether a specified ambient property is available in the current scope.

Şunlara uygulanır

Ayrıca bkz.