Style.BasedOn Eigenschaft

Definition

Ruft einen definierten Stil ab, der die Grundlage für den aktuellen Stil ist, oder legt diesen fest.

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

Eigenschaftswert

Style

Ein definierter Stil, der die Grundlage für den aktuellen Stil darstellt. Der Standardwert ist null.

Attribute

Beispiele

Es gibt verschiedene Möglichkeiten, wie Formatvorlagen in WPF erweitert oder geerbt werden können. Formatvorlagen können auf anderen Formatvorlagen über diese Eigenschaft basieren. Wenn Sie diese Eigenschaft verwenden, erbt die neue Formatvorlage die Werte der ursprünglichen Formatvorlage, die nicht explizit in der neuen Formatvorlage neu definiert sind. Im folgenden Beispiel Style2 erbt der Control.Background Wert von Yellow, und fügt einen Control.Foreground Wert von 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>

Ebenso können Formatvorlagen auf der Formatvorlage eines vorhandenen WPF-Elements basieren, wie im folgenden Beispiel, in dem die neue Formatvorlage auf der Formatvorlage eines TextBlock Elements basiert.

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

Hinweis

Wenn Sie eine Formatvorlage mit einer Eigenschaft erstellen und auf einer TargetType anderen Formatvorlage basieren, die auch eine TargetType Eigenschaft definiert, muss der Zieltyp der abgeleiteten Formatvorlage identisch sein oder vom Typ der Basisformatvorlage abgeleitet werden.

Formatvorlagen, die für bestimmte Typen definiert sind, können auch auf anderen Formatvorlagen basieren, wie im folgenden Beispiel.

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

Hinweise

Jede Formatvorlage unterstützt nur einen BasedOn Wert.

Verwendung von XAML-Attributen

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

XAML-Werte

myStyle
Eine vorhandene Formatvorlage. In der Regel verwenden Sie die Markuperweiterungen und WPF-XAML , um auf eine vorhandene Formatvorlage zu verweisen.

Gilt für:

Siehe auch