Style.BasedOn Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví definovaný styl, který je základem aktuálního stylu.
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
Hodnota vlastnosti
Definovaný styl, který je základem aktuálního stylu. Výchozí hodnota je null
.
- Atributy
Příklady
Styly ve WPF lze rozšířit nebo zdědit několika způsoby. Styly mohou být založené na jiných stylech prostřednictvím této vlastnosti. Při použití této vlastnosti nový styl zdědí hodnoty původního stylu, které nejsou explicitně předdefinovány v novém stylu. V následujícím příkladu Style2
Control.Background dědí hodnotu Yellow
, a přidá Control.Foreground hodnotu 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>
Podobně styly mohou být založené na stylu existujícího prvku WPF, jako v následujícím příkladu, kde nový styl je založen na stylu TextBlock prvku.
<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>
Poznámka
Pokud vytvoříte styl s TargetType vlastností a založíte ho na jiném stylu, který také definuje TargetType vlastnost, cílový typ odvozeného stylu musí být stejný jako typ základního stylu nebo odvozený od typu základního stylu.
Styly definované pro konkrétní typy můžou být také založené na jiných stylech, jako v následujícím příkladu.
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
<Setter Property="Foreground" Value="Green"/>
</Style>
Poznámky
Každý styl podporuje pouze jednu BasedOn hodnotu.
Použití atributu XAML
<object BasedOn="myStyle" .../>
Hodnoty XAML
myStyle
Existující styl. Obvykle používáte rozšíření značek a WPF XAML k odkazování na existující styl.