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。
下载地址
用户评论