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
Existuje několik způsobů, jak lze styly ve WPF rozšířit nebo zdědit. Styly můžou být založené na jiných stylech prostřednictvím této vlastnosti. Použijete-li tuto vlastnost, nový styl zdědí hodnoty původního stylu, které nejsou explicitně předefinovány v novém stylu. V následujícím příkladu Style2
Control.Background zdě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ženy na stylu existující prvek WPF, jako v následujícím příkladu, kde je nový styl založen na stylu elementu TextBlock .
<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 musí být odvozen od typu základního stylu.
Styly definované pro konkrétní typy mohou 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 jenom jednu BasedOn hodnotu.
Použití atributu XAML
<object BasedOn="myStyle" .../>
Hodnoty XAML
myStyle Existující styl Obvykle se používají rozšíření značek a WPF XAML odkazovat na existující styl.