有没有办法创建一个扩展当前样式的样式,即不是特定的样式?
我有一个WPF应用程序,我在其中创建样式来设置边框或验证等属性。
<Style TargetType="{x:Type Button}"
BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Padding" Value="5,2,5,2"/>
</Style>
现在我想尝试一些主题,看哪哪个最适合我的应用程序。问题是要做到这一点我需要将我所有样式的BasedOn属性更改为主题中的样式。
<Style TargetType="{x:Type Button}"
BasedOn="="{x:Static ns:SomeTheme.ButtonStyle}">">
<Setter Property="Padding" Value="5,2,5,2"/>
</Style>
我可以通过搜索/替换来做到这一点,但如果可以动态完成它会很好。
答案 0 :(得分:5)
你只需要这样做,没有快捷方式,你必须至少设置BasedOn属性。
答案 1 :(得分:1)
如果您将所有资源存储在ui中的单独程序集中,那么您可以使用主题在运行时动态更改它们。
答案 2 :(得分:-3)
您是否尝试过DynamicResource
而不是StaticResource
。