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

WPF多值转换器

背景:实现Slider拖动可以调整rgb

单转换器:WPF中数据绑定转换器Converter-CSDN博客

在View中:

<StackPanel Orientation="Vertical"><Slider x:Name="slider_R" Minimum="0" Maximum="255" Width="200" Margin="20"/><Slider x:Name="slider_G" Minimum="0" Maximum="255" Width="200" Margin="20"/><Slider x:Name="slider_B" Minimum="0" Maximum="255" Width="200" Margin="20"/><Path VerticalAlignment="Center" HorizontalAlignment="Center"><Path.Data><EllipseGeometry Center="50, 50" RadiusX="50" RadiusY="50"/></Path.Data><Path.Fill><MultiBinding Converter="{StaticResource rmc}"><Binding ElementName="slider_R" Path="Value"/><Binding ElementName="slider_G" Path="Value"/><Binding ElementName="slider_B" Path="Value"/></MultiBinding></Path.Fill></Path>
</StackPanel>

        -- Fill中绑定的资源是Window.Resources中引入进来的转换器key

        -- 转换器返回的是一个SolidBrush,其实就是相当于在这个地方写个SolidBrush

转换器中:

public class rgbMultiConventer : IMultiValueConverter
{public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture){if (values==null || values.Length < 2){return null;}byte r = System.Convert.ToByte(values[0]);byte g = System.Convert.ToByte(values[1]);byte b = System.Convert.ToByte(values[2]);Color color = Color.FromRgb(r, g, b);return new SolidColorBrush(color);}public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture){throw new NotImplementedException();}
}

 -- 就是转换器类接上接口“IMultiValueConverter”

http://www.lryc.cn/news/286596.html

相关文章:

  • x-cmd pkg | perl - 具有强大的文本处理能力的通用脚本语言
  • Jedis(一)与Redis的关系
  • K8S--安装Nginx
  • [BUUCTF]-PWN:babyfengshui_33c3_2016解析
  • 小程序系列--9.生命周期
  • SQL注入实战操作
  • Microsoft Remote Desktop for Mac(远程桌面连接)激活版
  • 分布式日志
  • 21.云原生之ArgoCD CICD实战(部分待补充)
  • 一文读懂JavaScript DOM节点操作(JavaScript DOM节点操作详解)
  • 【Linux】常见指令(一)
  • C语言大师(8)异常处理
  • 网络防御保护——1.网络安全概述
  • SpringBoot整合ElasticSearch实现分页查询
  • [C++]使用yolov8的onnx模型仅用opencv和bytetrack实现目标追踪
  • 打造专业级ChatGPT风格聊天界面:SpringBoot与Vue实现动态打字机效果,附完整前后端源码
  • KMP-重复子字符串
  • 如何使用Markdown生成目录索引
  • R语言【taxa】——as_taxon():转换为 taxon 对象
  • Android状态栏布局隐藏的方法
  • idea创建公用依赖包项目
  • 设计模式之装饰器模式
  • 【Java万花筒】缓存与存储:Java应用中的数据处理利器
  • 解决nodejs报错内存泄漏问题,项目无法运行
  • 计算机网络-物理层基本概念(接口特性 相关概念)
  • 从规则到神经网络:机器翻译技术的演化之路
  • python 面经
  • Ubuntu (Linux) 下创建软链接(即符号链接,相当于windows下的快捷方式)方法
  • LeetCode.2765. 最长交替子数组
  • Springboot日志框架logback与log4j2