Share via


Style.BasedOn Properti

Definisi

Mendapatkan atau mengatur gaya yang ditentukan yang merupakan dasar dari gaya saat ini.

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

Nilai Properti

Gaya yang ditentukan yang merupakan dasar dari gaya saat ini. Nilai defaultnya adalah null.

Atribut

Contoh

Ada beberapa cara agar gaya dalam WPF dapat diperpanjang atau diwariskan. Gaya dapat didasarkan pada gaya lain melalui properti ini. Saat Anda menggunakan properti ini, gaya baru akan mewarisi nilai gaya asli yang tidak secara eksplisit didefinisikan ulang dalam gaya baru. Dalam contoh berikut, Style2 mewarisi Control.Background nilai Yellow, dan menambahkan Control.Foreground nilai 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>

Demikian pula, gaya dapat didasarkan pada gaya elemen WPF yang ada, seperti dalam contoh berikut di mana gaya baru didasarkan pada gaya TextBlock elemen.

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

Catatan

Jika Anda membuat gaya dengan TargetType properti dan mendasarkannya pada gaya lain yang juga menentukan TargetType properti, jenis target gaya turunan harus sama dengan atau berasal dari jenis gaya dasar.

Gaya yang ditentukan untuk jenis tertentu juga dapat didasarkan pada gaya lain, seperti dalam contoh berikut.

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

Keterangan

Setiap gaya hanya mendukung satu BasedOn nilai.

Penggunaan Atribut XAML

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

Nilai XAML

myStyle Gaya yang sudah ada. Biasanya, Anda menggunakan Ekstensi Markup dan WPF XAML untuk merujuk ke gaya yang ada.

Berlaku untuk