2010-04-20 18 views

cevap

4

böyle küçük somthing ..... (btw bu xaml WPF olduğunu silverlight-- değil: Bir TemplateBinding kurma aşağıdaki XAML ile yapılabilir hangi bir nesneye bu stili uygulamak kez o nesnenin arka plan ayarlamak zaman, şablonu (bu Arkaplan özelliğini kullanacağız, şimdi)

<style TargetType="{x:Type Button}"> 
     <Setter Property="Background" Value="Green"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Grid Background={TemplateBinding Background} 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </style> 

biraz farklıdır düğme denetiminde bir özelliktir) ve stil olarak ayarladığınıza göre varsayılan olarak (bu durumda yeşil)

Tarzınızın nesnesi üzerinde mevcut olmayan bir özelliği kullanmak isterseniz, Kendi denetiminizi türetmek ve özelliği bir DependencyProperty olarak eklemek veya INotifyPropertyChanged arabirimini kullanın. Here sizin için iyi bir açıklamadır.

+1

hepsi bu kadar var mı? eğer kendi başıma oluşturmak istersem, sadece benzersiz bir isimle bir setter kullanırım? – Peter

+0

özelliği, nesne üzerinde DependencyProperty veya INotifyPropertyChanged özelliği olarak bulunmalıdır. Bu durumda, Arka Plan çoğu kontrolün temel bir özelliğidir. –

3

Yapmaya çalıştığınız şey hakkında biraz daha fazla bilgiye ihtiyacınız var.

{TemplateBinding YourProperty} veya

{Binding RelativeSource={RelativeSource TemplatedParent}, Path=YourProperty}

+1

Bu bağlamanın ve varsayılan değerin kaynağını nereden oluştururum? – Peter

İlgili konular