WPF ButtonStyle数据绑定示例
按钮样式的数据绑定,WPF 里一个挺实用的小技巧,尤其在做动态界面的时候,能省不少事。
WPF 的 UI 和数据分得挺清的,靠着DataContext和绑定语法,你能做到样式、文字、颜色啥的全跟着数据走。比如按钮文字Content
跟着ButtonText
变,颜色样式绑定到BackgroundColor
、ForegroundColor
,都不是事。
样式这块你可以先在ResourceDictionary
里搞个Style
资源,比如叫MyButtonStyle
,里面写几个Setter
,样式就全有了:
<Style x:Key="MyButtonStyle" TargetType="Button">
<Setter Property="Background" Value="{Binding BackgroundColor}"/>
<Setter Property="Foreground" Value="{Binding ForegroundColor}"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
,你在ViewModel
里写上对应的属性,记得实现INotifyPropertyChanged
,不然界面不会自动更新。在后台给DataContext
一指定:
this.DataContext = new MyViewModel();
前端 XAML 就能直接绑定啦:
<Button Style="{StaticResource MyButtonStyle}" Content="{Binding ButtonText}" />
实测下来还挺灵活的,改个颜色、改个文字,全自动刷新,开发体验比较丝滑。如果你做 WPF 桌面开发,强烈建议你试试这个ButtonStyleBindTest
项目,里面代码也简单,拿来直接上手。
哦对了,相关资料也可以看看:
如果你正好在调样式,不妨动手试一试,改起来也快,响应也快,还蛮适合做高交互的桌面 UI。
下载地址
用户评论