假设我有一个带有 4 个边框的 UserControl:
<Border />
<Border />
<Border />
<Border />
现在在我的资源中我可以去:
<Style TargetType="{x:Type Border}">
... change some properties here
</Style>
现在这一切都很好,但它将定位我的 UserControl 中的所有边框。 但是,如果我只想定位其中的一部分怎么办?
我想去:
<Border Class="Type1" />
<Border Class="Type1" />
<Border />
<Border />
然后去:
<Style TargetType="{x:Type Border}" TargetClass="Type1">
... change some properties here
</Style>
但这显然不存在,是否有其他方法可以实现我所追求的目标? 谢谢
最佳答案
虽然语法不像 CSS 中那样清晰,但它更加具体。
要以您的示例为基础,您正在寻找的是:
<Border Style="{StaticResource Type1}" />
<Border Style="{StaticResource Type1}" />
<Border />
<Border />
然后去:
<Style TargetType="{x:Type Border}" x:Key="Type1">
... change some properties here
</Style>
请记住,WPF 样式实际上并不像 CSS 那样级联。
关于c# - WPF:如何像在 css 中那样设置类的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5186773/