2011-04-07 92 views
0

是否有方法可以定义仅在某些情况下应用于对象的样式?Wpf样式:在列表框中设置样式

例如:作为列表框中项目模板一部分的标签样式。

我知道你可以为样式创建一个键,并指定直接应用于标签的样式,但是还有其他更通用的方法吗?

+0

还没有尝试过,但您可能能够创建在该项目的DataTemplate.Triggers一个DataTrigger,设置样式为特定的资源。我不确定数据触发Setter元素是否会解析资源。 – 2011-04-07 17:39:47

回答

3

您应该能够在层次结构中的最低级别定义风格,并且在没有密钥的情况下设置样式的TargetType

这将强制样式适用于相对于其定义的层次结构下的定义类型。

在这种情况下,资源将生活在ListBox之内,因此可以应用到您的模板。

<ListBox.Resources> 
    <Style TargetType="Label"/> 
</ListBox.Resources>