在 HTML/CSS 中,您可以定义可应用于多种类型元素的样式,例如:
.highlight {
color:red;
}
可以应用于 P 和 DIV,例如:
<p class="highlight">this will be highlighted</p>
<div class="highlight">this will also be highlighted</div>
但在 XAML 中,您似乎必须为样式定义 TargetType,否则会出现错误:
<Style x:Key="formRowLabel" TargetType="TextBlock">
有没有办法允许 XAML 样式应用于多个元素,甚至像在 CSS 中一样将其保持打开状态?
WPF 样式中的 setter 在编译时进行检查; CSS 样式是动态应用的。
您必须指定一个类型,以便 WPF 可以将 setter 中的属性解析为该类型的依赖属性。
您可以将目标类型设置为包含所需属性的基类,然后将该样式应用于派生类。例如,您可以为 Control 对象创建样式,然后将其应用于多种类型的控件(按钮、文本框、复选框等)
<Style x:Key="Highlight" TargetType="{x:Type Control}">
<Setter Property="Foreground" Value="Red"/>
</Style>
...
<Button Style="{StaticResource Highlight}" Content="Test"/>
<TextBox Style="{StaticResource Highlight}" Text="Test"/>
<CheckBox Style="{StaticResource Highlight}" Content="Test"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)