Style.BasedOn Style.BasedOn Style.BasedOn Style.BasedOn Property

Definition

Ruft einen definierten Stil ab, der die Grundlage für den aktuellen Stil ist, oder legt diesen fest.Gets or sets a defined style that is the basis of the current style.

public:
 property System::Windows::Style ^ BasedOn { System::Windows::Style ^ get(); void set(System::Windows::Style ^ value); };
[System.Windows.Markup.Ambient]
public System.Windows.Style BasedOn { get; set; }
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.A defined style that is the basis of the current style. Der Standardwert ist nullsein.The default value is null.

Beispiele

Es gibt mehrere Möglichkeiten, wie Stile WPFWPF in erweitert oder geerbt werden können.There are several ways that styles in WPFWPF can be extended or inherited. Stile können über diese Eigenschaft auf anderen Stilen basieren.Styles can be based on other styles through this property. Wenn Sie diese Eigenschaft verwenden, erbt der neue Stil die Werte des ursprünglichen Stils, die nicht explizit im neuen Stil neu definiert werden.When you use this property, the new style will inherit the values of the original style that are not explicitly redefined in the new style. Im folgenden Style2 Beispiel erbt den Wert Control.Foreground von Control.Background Yellowund fügt den Wert Bluehinzu.In the following example, Style2 inherits the Control.Background value of Yellow, and adds a Control.Foreground value of 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>

Entsprechend können Stile auf dem Stil eines vorhandenen WPFWPF Elements basieren, wie im folgenden Beispiel, in dem die neue Formatvorlage auf dem Stil TextBlock eines-Elements basiert.Similarly, styles can be based on the style of an existing WPFWPF element, as in the following example where the new style is based on the style of a TextBlock element.

  <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 einen Stil mit einer TargetType Eigenschaft erstellen und auf einem anderen Stil basieren, der auch eine TargetType Eigenschaft definiert, muss der Zieltyp des abgeleiteten Stils mit dem Typ des Basistyps identisch sein oder davon abgeleitet sein.If you create a style with a TargetType property and base it on another style that also defines a TargetType property, the target type of the derived style must be the same as or be derived from the type of the base style.

Für bestimmte Typen definierte Stile können auch auf anderen Stilen basieren, wie im folgenden Beispiel gezeigt.Styles defined for specific types can also be based on other styles, as in the following example.

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

Hinweise

Jeder Stil unterstützt nur BasedOn einen Wert.Each style only supports one BasedOn value.

Verwendung von XAML-AttributenXAML Attribute Usage

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

XAML-WerteXAML Values

myStylemyStyle
Ein vorhandener Stil.An existing style. In der Regel verwenden Sie die Markup Erweiterungen und WPF-XAML , um auf einen vorhandenen Stil zu verweisen.Typically, you use the Markup Extensions and WPF XAML to refer to an existing style.

Gilt für:

Siehe auch