财务管理做的好的门户网站,个人博客模板 wordpress,旅游网站开发的背景,ui设计师证书怎么考文章速览 解决方案具体实现Converter 部分创建样式Binding样式 坚持记录实属不易#xff0c;希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区#xff01; 谢谢~
解决方案
创建一个Converter#xff0c;返回对应的style实现对应的修改 创建多个样式… 文章速览 解决方案具体实现Converter 部分创建样式Binding样式 坚持记录实属不易希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区 谢谢~
解决方案
创建一个Converter返回对应的style实现对应的修改 创建多个样式 将创建的样式与Converter的属性绑定 利用Binding 将vm中的属性作为Converter的传参实现动态样式功能
具体实现
Converter 部分
创建一个Converter根据传参返回相应的样式 public class ConditionToStyleConverter : IValueConverter{public Style CurrentStyle { get; set; }public Style OptionalStyle { get; set; }public object Convert(object value, Type targetType, object parameter, CultureInfo culture){return (bool)value ? CurrentStyle : OptionalStyle ;}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){return new InvalidOperationException();}}
}创建样式
Grid.ResourcesStyle x:Key FirstStyle TargetType{x:Type Button} BasedOn {StaticResource OptionalStyle}/Style x:Key FirstStyle TargetType{x:Type Button} BasedOn {StaticResource CurrentStyle}/local:ConditionToStyleConverterx:Key ConditionToStyleConverterCurrentStyle {StaticResource CurrentStyle}OptionalStyle {StaticResource OptionalStyle}/
/Grid.ResourcesBinding样式
Button Style{Binding IsSucceed},Converter {StaticResource ConditionToStyleConverter}/