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 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 Yellow
und fügt den Control.Foreground Wert von Blue
hinzu.
<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.