当前位置: 首页 > news >正文

wpf-动态设置组件【按钮为例】样式

文章速览

  • 解决方案
  • 具体实现
    • 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.Resources><Style x:Key = "FirstStyle" TargetType="{x:Type Button}" BasedOn = "{StaticResource OptionalStyle}"/><Style x:Key = "FirstStyle" TargetType="{x:Type Button}" BasedOn = "{StaticResource CurrentStyle}"/><local:ConditionToStyleConverterx:Key = "ConditionToStyleConverter"CurrentStyle = "{StaticResource CurrentStyle}"OptionalStyle = "{StaticResource OptionalStyle}"/>
</Grid.Resources>

Binding样式

<Button Style="{Binding IsSucceed}",Converter = {StaticResource ConditionToStyleConverter}"/>
http://www.lryc.cn/news/270055.html

相关文章:

  • 40道MyBatis面试题带答案(很全)
  • python:PyCharm更改.PyCharm配置文件夹存储位置
  • Centos安装Kafka(KRaft模式)
  • 学习笔记13——Spring整合Mybatis、junit、AOP、事务
  • 【12月比赛合集】4场可报名的「创新应用」、「数据分析」和「程序设计」大奖赛,任君挑选!
  • Cisco模拟器-企业网络部署
  • WPF+Halcon 培训项目实战(12):WPF导出匹配模板
  • uniapp中uview组件库的丰富Upload 上传上午用法
  • Unity关于动画混合树(Blend Tree)的使用
  • 怎么下载landsat 8影像并在ArcGIS Pro中进行波段组合
  • 编程新手IDE
  • 如何将一个JSON字符串解析为JavaScript对象或值
  • idea配置docker推送本地镜像到远程私有仓库
  • Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询
  • 十二、K8S之污点和容忍
  • llvm后端之指令选择源码分析
  • 【消息中间件】Rabbitmq消息可靠性、持久化机制、各种消费
  • aws-sdk-cpp通过bazel构建的S3_client轮子
  • 关于WPF MVVM 的详细使用过程以及注意的问题
  • 计算机视觉 全教程目录
  • 油猴脚本开发,之如何添加html和css
  • 【MATLAB】BiGRU神经网络时序预测算法
  • 57.0/初识 PhotoShopCS4(详细版)
  • [C#]opencvsharp进行图像拼接普通拼接stitch算法拼接
  • 《妙趣横生的算法》(C语言实现)-第10章算法设计与数据结构面试题精粹
  • (JAVA)-(网络编程)-初始网络编程
  • Observer观察者模式(组件协作)
  • 数据挖掘 聚类度量
  • [Angular] 笔记 24:ngContainer vs. ngTemplate vs. ngContent
  • ❀My排序算法学习之插入排序❀