Style.BasedOn Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 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.