[WPF]控件应用多单样式

前不久以做WPF项目,公司无专门的UI工程师,什么都要协调开。接触WPF已经来好几年了,自定义样式什么的也罢得以开片。WPF在应用样式的时节一般都是
Style="{StaticResource styleKey}"。能免可知要控件同时以多独
Style,类似于 HTML 中 class="class1 class2 class3"呢?

WpfMultiStyle

Google 一番,很多丁犹是透过
BaseOn的方式来促成,虽然能够上要求,但是不够利索,也无是自个儿眷恋只要之。

最终在
stackoverflow
有所收货。他是由此 MarkupExtension 扩展实现之。

整理之后公布在
Nuget,可以直接通过Nuget引用,也得一直将源码拷贝到花色面临一直采用。

源码在 https://github.com/PxAndy/WpfMultiStyle。

使用

参照 Bootstrap
的按钮写了几乎独样式。具体的体制代码就未粘了,感兴趣之好一直去
WpfMultiStyle.Test/MainWindow.xaml
看看。

引入命名空间

xmlns:wms="clr-namespace:WpfMultiStyle;assembly=WpfMultiStyle"

应用样式

Button 为例:

<Button Style="{wms:MultiStyle btn btn-default btn-lg}" Content="Large button" />

运行

圈起便是下的旗帜:

后记

出于事先未可知在设计时显示效果,后面又召开了优化,并且新增了增大属性实现的不二法门,这种艺术得以于设计时实时显示效果。

<Button wms:Apply.MultiStyle="btn btn-primary btn-lg" Content="Large button" />

参考

How to apply multiple styles in
WPF

相关文章