Style.BasedOn Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een gedefinieerde stijl op die de basis is van de huidige stijl.
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
Waarde van eigenschap
Een gedefinieerde stijl die de basis is van de huidige stijl. De standaardwaarde is null.
- Kenmerken
Voorbeelden
Er zijn verschillende manieren waarop stijlen in WPF kunnen worden uitgebreid of overgenomen. Stijlen kunnen worden gebaseerd op andere stijlen via deze eigenschap. Wanneer u deze eigenschap gebruikt, neemt de nieuwe stijl de waarden over van de oorspronkelijke stijl die niet expliciet opnieuw worden gedefinieerd in de nieuwe stijl. In het volgende voorbeeld Style2 wordt de Control.Background waarde overgenomen van Yellow, en wordt een Control.Foreground waarde van 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>
Op dezelfde manier kunnen stijlen worden gebaseerd op de stijl van een bestaand WPF-element, zoals in het volgende voorbeeld waarin de nieuwe stijl is gebaseerd op de stijl van een 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>
Note
Als u een stijl maakt met een TargetType eigenschap en deze baseert op een andere stijl die ook een TargetType eigenschap definieert, moet het doeltype van de afgeleide stijl hetzelfde zijn als of worden afgeleid van het type basisstijl.
Stijlen die zijn gedefinieerd voor specifieke typen, kunnen ook worden gebaseerd op andere stijlen, zoals in het volgende voorbeeld.
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
<Setter Property="Foreground" Value="Green"/>
</Style>
Opmerkingen
Elke stijl ondersteunt slechts één BasedOn waarde.
XAML-kenmerkgebruik
<object BasedOn="myStyle" .../>
XAML-waarden
myStyle Een bestaande stijl. Normaal gesproken gebruikt u de Markup Extensions en WPF XAML om te verwijzen naar een bestaande stijl.