Style.BasedOn Vlastnost

Definice

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

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

Hodnota vlastnosti

Style

Definovaný styl, který je základem aktuálního stylu. Výchozí hodnota je null.

Atributy

Příklady

Styly ve WPF lze rozšířit nebo zdědit několika způsoby. Styly mohou být založené na jiných stylech prostřednictvím této vlastnosti. Při použití této vlastnosti nový styl zdědí hodnoty původního stylu, které nejsou explicitně předdefinovány v novém stylu. V následujícím příkladu Style2 Control.Background dědí hodnotu Yellow, a přidá Control.Foreground hodnotu Blue.


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

Podobně styly mohou být založené na stylu existujícího prvku WPF, jako v následujícím příkladu, kde nový styl je založen na stylu TextBlock prvku.

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

Poznámka

Pokud vytvoříte styl s TargetType vlastností a založíte ho na jiném stylu, který také definuje TargetType vlastnost, cílový typ odvozeného stylu musí být stejný jako typ základního stylu nebo odvozený od typu základního stylu.

Styly definované pro konkrétní typy můžou být také založené na jiných stylech, jako v následujícím příkladu.

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
  <Setter Property="Foreground" Value="Green"/>
</Style>

Poznámky

Každý styl podporuje pouze jednu BasedOn hodnotu.

Použití atributu XAML

<object BasedOn="myStyle" .../>  

Hodnoty XAML

myStyle
Existující styl. Obvykle používáte rozšíření značek a WPF XAML k odkazování na existující styl.

Platí pro

Viz také