如何创build基于默认样式的样式?

如何在Silverlight中创build基于默认样式的样式?

例如,在WPF中,我们使它像这样:

<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}"> <Setter Property="Margin" Value="2" /> <Setter Property="Padding" Value="2" /> </Style> 

几乎相同的。 只需减去x:更明确命名的types。

 <Style TargetType="TextBox" BasedOn="{StaticResource DefaultTextBoxStyle}"> 

更多信息在这里的文档 。 PS,如果你需要默认的模板,例如TextBox通常可以在CoreStyles.xaml中find

如果您在第一次阅读答案时感到困惑,请按照评论中的要求添加;

“你需要一个基础样式,这很容易做,因为你打算在一个应用程序主题中创build类似于ToolkitStyles.xaml,SDKStyles.xaml,CoreStyles.xaml等的文件。这是WHERE答案中的名字来自“

要创build基于默认样式的样式,您需要创build一个命名样式,然后根据命名样式创build默认样式( http://weblogs.asp.net/lduveau/silverlight-how-to-inherit-from隐式; )

 <Style x:Key="DefaultCustomControlStyle" TargetType="local:CustomControl"> <Setter Property="Padding" Value="2" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:CustomControl"> <ContentPresenter /> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style TargetType="local:CustomControl" BasedOn="{StaticResource DefaultCustomControlStyle}" />