Style.BasedOn Özellik

Tanım

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

Style

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.Background Yellowve değerini Control.Foreground Blueekler.


<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

Bir özelliği olan TargetType bir stil oluşturur ve bunu aynı zamanda bir özelliği tanımlayan başka bir TargetType stile temel alırsanız, 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ını ve WPF XAML'sini kullanırsınız.

Şunlara uygulanır

Ayrıca bkz.