2011-06-05 14 views
5
<Style x:Key="MyStyle"> 
    <Setter Property="Window.Background" Value="Orange"/> 
</Style> 

<Button Content="Ok" Style="{StaticResource MyStyle}"/> 

Neden düğme aslında turuncu arka plan alıyor mu şekilde çalışır anlamak yardımcı olun?WPF Styles - Beni setter Window.Background olarak belirtilirse bu, bu

Bu değil TextBlock turuncu arka planını vermeye gelmez:

<TextBlock Style="{StaticResource MyStyle}"/> 

Teşekkür

Background mülkiyet hem Window ve Button atası olarak sahip Control sınıfına bağlı çünkü çalışır

cevap

5

Ne Button ne de Window aslında'ı tanımlarözelliği, her ikisi de Control'dan devralır. Eğer Window.Background yazdı Yani rağmen

, ayarlayıcı aslında da Button uygulanan Control.BackgroundProperty alanını kullanarak özelliğine bağlıdır.

+0

Teşekkürler Sven! Ama nasıl TextBlock'un Arkaplanını turuncu yapmıyor? TextBlock ayrıca Control ... –

+0

@Gustavo, [TextBlock] (http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx) doğrudan 'FrameworkElement' öğesinden miras alır, değil 'Denetimden'. –

+0

Elbette. Benim hatam için teşekkürler Frederic. –