Style.BasedOn Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit un style défini qui est la base du style actuel.
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
Valeur de propriété
Style défini qui est la base du style actuel. La valeur par défaut est null
.
- Attributs
Exemples
Il existe plusieurs façons d’étendre ou d’hériter des styles dans WPF. Les styles peuvent être basés sur d’autres styles via cette propriété. Lorsque vous utilisez cette propriété, le nouveau style hérite des valeurs du style d’origine qui ne sont pas redéfinies explicitement dans le nouveau style. Dans l’exemple suivant, Style2
hérite de la Control.Background valeur de Yellow
, et ajoute une Control.Foreground valeur de 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>
De même, les styles peuvent être basés sur le style d’un élément WPF existant, comme dans l’exemple suivant où le nouveau style est basé sur le style d’un TextBlock élément.
<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>
Notes
Si vous créez un style avec une TargetType propriété et que vous le basez sur un autre style qui définit également une TargetType propriété, le type cible du style dérivé doit être le même que ou être dérivé du type du style de base.
Les styles définis pour des types spécifiques peuvent également être basés sur d’autres styles, comme dans l’exemple suivant.
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
<Setter Property="Foreground" Value="Green"/>
</Style>
Remarques
Chaque style ne prend en charge qu’une BasedOn seule valeur.
Utilisation d'attributs XAML
<object BasedOn="myStyle" .../>
Valeurs XAML
myStyle Style existant. En règle générale, vous utilisez les extensions de balisage et LE XAML WPF pour faire référence à un style existant.