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

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

Attribute

Beispiele

Es gibt mehrere Möglichkeiten, wie Formatvorlagen in WPF erweitert oder vererbt werden können. Stile können über diese Eigenschaft auf anderen Stilen basieren. Wenn Sie diese Eigenschaft verwenden, erbt die neue Formatvorlage die Werte des ursprünglichen Stils, die im neuen Stil nicht explizit neu definiert wurden. Im folgenden Beispiel Style2 erbt den Control.Background Wert von Yellowund fügt den Control.Foreground Wert von Bluehinzu.


<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 Stile auf dem Stil eines vorhandenen WPF-Elements basieren, wie im folgenden Beispiel, bei dem der neue Stil auf dem Stil 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 des abgeleiteten Stils mit dem Typ des Basisformats identisch sein oder von diesem abgeleitet werden.

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

<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 Ein vorhandener Stil. In der Regel verwenden Sie die Markuperweiterungen und WPF-XAML , um auf eine vorhandene Formatvorlage zu verweisen.

Gilt für: