【发布时间】:2011-07-14 13:37:18
【问题描述】:
在 CSS 中,可以根据 HTML 元素在元素树中的位置设置样式:
div#container div#menu a
我想在 WPF 中做同样的事情,以便只设置菜单部分中的链接的样式。
- 问题 #1: 一种方法或另一种方法,上述方法在 WPF 中也可以吗?
我正在考虑嵌套在状态栏中的分隔符的以下内容:
<Style TargetType="{x:Type StatusBar}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Padding" Value="0,0,20,0" />
<Style.Resources>
<Style TargetType="{x:Type Separator}">
<Setter Property="Width" Value="20" />
<Setter Property="Background" Value="Green" />
</Style>
</Style.Resources>
</Style>
这段 XAML 包含在资源字典中。 StatusBar 以透明背景和正确的填充显示。但是,不幸的是,绿色分隔符没有显示。它只显示默认的灰色 1px 宽条。
- 问题 #2:如果这是正确的解决方案,有谁知道为什么这不起作用?
提前致谢。
【问题讨论】:
-
我可以告诉你,样式的资源没有被转换为样式定义所针对的类型,这些资源的范围是样式实例本身。
-
是的,我想我们在这里寻找的是样式的“Setter”,其属性是应用样式的元素的“Resources”属性。不知何故,我不认为
... 会工作。这可能需要代码解决方案。
标签: .net wpf xaml resources styling