我正在维护一个很大的旧C#/ WPF应用程序,该应用程序中已为所有按钮全局设置了样式。这听起来很难看,但是如果不重构整个应用程序,我将无法更改它。
以下是这种风格的摘录:
SteamGame
问题是,当我想使用DatePicker时,这种全局样式影响了DataPicker的外观:
是否有一种简单方法来仅针对DatePicker内的按钮恢复默认的边距,高度和最小宽度?
答案 0 :(得分:1)
您可以在本地Style
覆盖Button
。以下XAML
将Style
中所有Button
的{{1}}设置回默认的DatePicker
。
Style
修改
根据评论中的要求,<DatePicker>
<DatePicker.Resources>
<!-- Default Style -->
<Style TargetType="{x:Type Button}"/>
</DatePicker.Resources>
</DatePicker>
用于在全球范围内解决此问题
Style
注意:此<Style TargetType="{x:Type DatePicker}">
<Style.Resources>
<Style TargetType="{x:Type Button}"/>
</Style.Resources>
</Style>
应该与Style
Button
放在相同的层次结构上下文中。