如何创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}" />