在应用程序中设置所有列表项的样式,甚至是模板化控件中的列表项

时间:2010-12-03 17:18:31

标签: silverlight silverlight-4.0 coding-style custom-controls

我为ListItem创建了一个样式,我希望在我的应用程序中的所有ListBox中使用它。我可以这样手动设置:

<ListBox ItemContainerStyle="">

但是我无法将样式应用于应用程序中的每个ListBox而不触及每个ListBox并添加上述属性。

此外,更重要的是,我想将样式应用于自定义模板化控件中使用的列表框。现在我必须修改控件库中的Generic.xaml主题...不是我认为我应该做的事情。

相当肯定这与主题有关,btu有一点时间搞清楚。

2 个答案:

答案 0 :(得分:2)

您可以在Silverlight 4中使用implicit styles执行此操作。

以常规方式定义您的风格:

<Style x:Key="DefaultListBoxStyle" TargetType="ListBox">
    ....
<Style>

然后创建隐式样式:

<Style TargetType="ListBox"
       BasedOn="{StaticResource DefaultListBoxStyle}" />

答案 1 :(得分:1)

你可以使用隐式样式。 http://www.silverlightshow.net/items/Implicit-Styles-in-Silverlight-4.aspx
您为类型定义了一个全局样式(在您的情况下为ListBoxItem),然后此样式是您的应用程序的新默认样式。

如果您需要任何进一步的信息,请发表评论。

BR,

TJ