Style.BasedOn Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.