2010-10-12 60 views
0

我有自定義控件,我想顯示一些項目。 在generic.xaml定義樣式自定義控件:Silverlight 4自定義控件子項風格

<Style TargetType="local:Custom"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="local:Customl"> 
       <!-- Root Grid--> 
       <Grid x:Name="CustomLayout" 
         Background="Black"> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

而且我設置爲C#

[TemplatePart(Name = "CustomLayout", Type = typeof(Grid))] 
[StyleTypedProperty(Property = "ChildItemStyle", StyleTargetType = typeof(Control))] 
public class GaugeControl : Control 

一切工作正常節選風格子項中 generic.xaml定義 :

<Style TargetType="{x:Type Control}"> 
    <Setter Property="Background" Value="Red"></Setter> 
     <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type Control}"> 
       <!-- Root Grid--> 
       <Grid x:Name="LayoutRoot" 
         Background="Red"> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

帶屬性的自定義控件

[StyleTypedProperty(Property = "ChildItemStyle", StyleTargetType = typeof(Control))] 

而我在我的自定義控件中有ChildItemStyle DependencyProperty,但它始終爲空。

我怎樣才能得到這個樣式屬性和最新錯誤我在做什麼?

+2

你使用silverlight吧?您是否嘗試過TargetType =「Control」而不是x:Type ...? – vorrtex 2010-10-13 10:36:42

+1

是的,我嘗試過,但錯誤是,我有generic.xaml中的separet風格insted爲本地設置一種風格:自定義與setter風格設置爲ChildItemStyle – Evgeny 2010-10-13 11:38:32

回答

0

我在我的代碼中發現瞭解決方案和錯誤。

我只是將setter添加到我的<Style TargetType="local:Custom">定義中,並在setter的幫助下設置了我想要的ChildItemStyle。