Sdílet prostřednictvím


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

Styly ve WPF lze rozšířit nebo zdědit několika způsoby. Styly můžou být založené na jiných stylech prostřednictvím této vlastnosti. Při použití této vlastnosti nový styl dědí hodnoty původního stylu, které nejsou explicitně předdefinovány v novém stylu. V následujícím příkladu Style2Control.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ě mohou být styly 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 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, musí být cílový typ odvozeného stylu stejný jako typ základního stylu nebo odvozený od typu základního stylu.

Styly definované pro konkrétní typy mohou být také založeny 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 odkazovat na existující styl.

Platí pro