WPF Style样式xaml如何实现继承效果
编程开发
wpfxaml样式style继承
最近在改一个WPF程序,这次界面相对比较复杂,用到了很多样式并且很多样式资源文件 导致资源文件代码很臃肿,以前都是偷懒直接用现成UI框架的style所以基本没有考虑过这方面问题,因为发现很多Style里面有不少属性是可以共用的,就想着能不能像实体类一样继承,百度查了下还真支持 ,就是 BasedOn属性。 代码如下
<!--公共基础样式-->
<Style x:Key="BaseTextBoxStyle" TargetType="TextBox">
<Setter Property="FontSize" Value="12" />
<Setter Property="Background" Value="Orange" />
</Style>
<!--效果和实体继承一样 子样式优先 默认使用父样式-->
<Style x:Key="TextBox" BasedOn="{StaticResource BaseTextBoxStyle}" TargetType="TextBox">
<Setter Property="FontSize" Value="15" />
</Style>