Udostępnij za pośrednictwem


Style.BasedOn Właściwość

Definicja

Pobiera lub ustawia zdefiniowany styl, który jest podstawą bieżącego 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

Wartość właściwości

Zdefiniowany styl, który jest podstawą bieżącego stylu. Wartość domyślna to null.

Atrybuty

Przykłady

Istnieje kilka sposobów rozszerzania lub dziedziczenia stylów w WPF. Style mogą być oparte na innych stylach za pomocą tej właściwości. Gdy używasz tej właściwości, nowy styl będzie dziedziczyć wartości oryginalnego stylu, które nie są jawnie definiowane w nowym stylu. W poniższym przykładzie Style2 dziedziczy Control.Background wartość Yellow, i dodaje Control.Foreground wartość 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>

Podobnie style mogą być oparte na stylu istniejącego elementu WPF, jak w poniższym przykładzie, w którym nowy styl jest oparty na stylu TextBlock elementu.

  <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>

Uwaga

Jeśli tworzysz styl z właściwością TargetType i opierasz go na innym stylu, który definiuje TargetType również właściwość, typ docelowy stylu pochodnego musi być taki sam jak lub pochodzić od typu stylu podstawowego.

Style zdefiniowane dla określonych typów mogą być również oparte na innych stylach, jak w poniższym przykładzie.

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
  <Setter Property="Foreground" Value="Green"/>
</Style>

Uwagi

Każdy styl obsługuje tylko jedną BasedOn wartość.

Użycie atrybutu języka XAML

<object BasedOn="myStyle" .../>

Wartości XAML

myStyle Istniejący styl. Zazwyczaj do odwoływania się do istniejącego stylu używa się rozszerzeń znaczników i języka WPF XAML .

Dotyczy