Style.BasedOn Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli stilin temeli olan tanımlı bir stili alır veya ayarlar.
public:
property System::Windows::Style ^ BasedOn { System::Windows::Style ^ get(); void set(System::Windows::Style ^ value); };
public System.Windows.Style BasedOn { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.Style BasedOn { get; set; }
member this.BasedOn : System.Windows.Style with get, set
[<System.Windows.Markup.Ambient>]
member this.BasedOn : System.Windows.Style with get, set
Public Property BasedOn As Style
Özellik Değeri
Geçerli stilin temelini oluşturan tanımlı stil.
null
varsayılan değerdir.
- Öznitelikler
Örnekler
WPF'deki stillerin genişletilebileceği veya devralınabileceği çeşitli yollar vardır. Stiller, bu özellik aracılığıyla diğer stilleri temel alabilir. Bu özelliği kullandığınızda, yeni stil özgün stilin yeni stilde açıkça yeniden tanımlanmamış değerlerini devralır. Aşağıdaki örnekte değerini Style2
devralır Control.BackgroundYellow
ve değerini Control.ForegroundBlue
ekler.
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
<Style x:Key="Style2" BasedOn="{StaticResource Style1}">
<Setter Property="Control.Foreground" Value="Blue"/>
</Style>
Benzer şekilde, stiller, yeni stilin bir öğenin stilini temel aldığı aşağıdaki örnekte olduğu gibi var olan bir TextBlock WPF öğesinin stilini temel alabilir.
<Style
x:Key="TitleText"
BasedOn="{StaticResource {x:Type TextBlock}}"
TargetType="{x:Type TextBlock}">
<Setter Property="FontSize" Value="32pt" />
<Setter Property="Foreground">
<Setter.Value>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<LinearGradientBrush.GradientStops>
<GradientStop Offset="0.0" Color="#90C117" />
<GradientStop Offset="1.0" Color="#5C9417" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform X="0" Y="10"/>
</Setter.Value>
</Setter>
</Style>
Not
Özelliği olan TargetType bir stil oluşturur ve bunu aynı zamanda bir özelliği tanımlayan başka bir TargetType stile dayandırırsan, türetilen stilin hedef türü temel stilin türüyle aynı veya türetilmiş olmalıdır.
Belirli türler için tanımlanan stiller, aşağıdaki örnekte olduğu gibi diğer stilleri de temel alabilir.
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
<Setter Property="Foreground" Value="Green"/>
</Style>
Açıklamalar
Her stil yalnızca bir BasedOn değeri destekler.
XAML Öznitelik Kullanımı
<object BasedOn="myStyle" .../>
XAML Değerleri
myStyle Var olan bir stil. Genellikle, var olan bir stile başvurmak için Biçimlendirme Uzantıları ve WPF XAML kullanırsınız.