Share via


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

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

Atributy

Příklady

Existuje několik způsobů, jak lze styly ve WPF rozšířit nebo zdědit. Styly můžou být založené na jiných stylech prostřednictvím této vlastnosti. Použijete-li tuto vlastnost, nový styl zdědí hodnoty původního stylu, které nejsou explicitně předefinovány v novém stylu. V následujícím příkladu Style2Control.Background zdědí hodnotu Yellowa 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ženy na stylu existující prvek WPF, jako v následujícím příkladu, kde je nový styl založen na stylu elementu TextBlock .

  <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 musí být odvozen od typu základního stylu.

Styly definované pro konkrétní typy mohou 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 jenom jednu BasedOn hodnotu.

Použití atributu XAML

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

Hodnoty XAML

myStyle Existující styl Obvykle se používají rozšíření značek a WPF XAML odkazovat na existující styl.

Platí pro