Style.BasedOn Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta uno stile definito che è la base dello stile corrente.
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
Valore della proprietà
Stile definito che è la base dello stile corrente. Il valore predefinito è null
.
- Attributi
Esempio
Esistono diversi modi in cui gli stili in WPF possono essere estesi o ereditati. Gli stili possono essere basati su altri stili tramite questa proprietà. Quando si utilizza questa proprietà, il nuovo stile erediterà i valori dello stile originale che non vengono ridefiniti in modo esplicito nel nuovo stile. Nell'esempio seguente eredita Style2
il Control.Background valore di Yellow
e aggiunge un Control.Foreground valore .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>
Analogamente, gli stili possono essere basati sullo stile di un elemento WPF esistente, come nell'esempio seguente in cui il nuovo stile è basato sullo stile di un TextBlock elemento.
<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>
Nota
Se si crea uno stile con una TargetType proprietà e lo si basa su un altro stile che definisce anche una TargetType proprietà, il tipo di destinazione dello stile derivato deve essere uguale o derivato dal tipo dello stile di base.
Gli stili definiti per tipi specifici possono essere basati anche su altri stili, come nell'esempio seguente.
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
<Setter Property="Foreground" Value="Green"/>
</Style>
Commenti
Ogni stile supporta un BasedOn solo valore.
Uso della sintassi XAML per gli attributi
<object BasedOn="myStyle" .../>
Valori XAML
Mystyle Stile esistente. In genere, si usano le estensioni di markup e XAML WPF per fare riferimento a uno stile esistente.