Style.BasedOn Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett definierat format som är grunden för det aktuella formatet.
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
Egenskapsvärde
Ett definierat format som är grunden för det aktuella formatet. Standardvärdet är null.
- Attribut
Exempel
Det finns flera sätt som formatmallar i WPF kan utökas eller ärvas på. Format kan baseras på andra formatmallar via den här egenskapen. När du använder den här egenskapen ärver det nya formatet värdena för det ursprungliga formatet som inte uttryckligen omdefinieras i det nya formatet. I följande exempel ärver värdet för Style2och lägger till värdet Control.BackgroundYellow.Control.ForegroundBlue
<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>
På samma sätt kan format baseras på formatet för ett befintligt WPF element, som i följande exempel där det nya formatet baseras på formatet för ett 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
Om du skapar ett format med en TargetType egenskap och baserar det på ett annat format som också definierar en TargetType egenskap, måste måltypen för det härledda formatet vara samma som eller härledas från typen av basformat.
Format som definierats för specifika typer kan också baseras på andra format, som i följande exempel.
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
<Setter Property="Foreground" Value="Green"/>
</Style>
Kommentarer
Varje format har endast stöd för ett BasedOn värde.
XAML-attributanvändning
<object BasedOn="myStyle" .../>
XAML-värden
myStyle Ett befintligt format. Vanligtvis använder du Markup Extensions och WPF XAML för att referera till ett befintligt format.