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.hqwc.cn/news/427560.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL视图特性

视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表&#xff0c;基表的数据变化也会影响到视图。 1.基本使用 创建视图 create view 视图名 as select 语句&#xff1b; 案例&…

微信双开bat脚本中出现中文目录导致报错运行不了

在微信双开bat脚本的教程中看到一个评论&#xff1a; 可以是可以&#xff0c;写完脚本另存为的时候改变编码就行了&#xff0c;选ANSI

Socket实现服务器和客户端

Socket 编程是一种用于在网络上进行通信的编程方法&#xff0c;以下代码可以实现在不同主机之间传输数据。 Socket 编程中服务器端和客户端的基本步骤&#xff1a;服务器端步骤&#xff1a; 1.创建 Socket&#xff1a; int serverSocket socket(AF_INET, SOCK_STREAM, 0);…

java抽象工厂实战与总结

文章目录 一、工厂模式&#xff08;三种&#xff09;1.简单工厂模式1.1 概念&#xff1a;1.2 使用场景&#xff1a;1.3 模型图解&#xff1a;1.4 伪代码&#xff1a; 2.工厂方法模式2.1 概念&#xff1a;2.2 使用场景&#xff1a;2.3 模型图解&#xff1a;2.4 伪代码 3.抽象工厂…

3.chrony服务器

目录 1. 简介 1.1. 重要性 1.2. Linux的两个时钟 1.3. 设置日期时间 1.3.1. timedatectl命令设置 1.3.2. date命令设置 1.4. NTP 1.5. Chrony介绍 2. 安装与配置 2.1. 安装&#xff1a; 2.2. Chrony配置文件分析 2.3. 同步时间服务器 2.3.1. 授时中心 2.3.2. 实验…

进程通信与socket编程实践之猜数字小游戏

socket是实现进程通信的一种重要方式&#xff0c;本文将通过socket编程实现服务器进程与客户端进程之间的通信&#xff0c;并在通信之外实现猜数字的小游戏。 1. 设计思路 本文设计的C/S结构的猜数字游戏功能如下&#xff1a;服务器端自动生成一个1-100之间的随机数字&#x…

5.ROC-AUC机器学习模型性能的常用的评估指标

最近回顾机器学习基础知识部分的时候&#xff0c;看到了用于评估机器学习模型性能的ROC曲线。再次记录一下&#xff0c;想起之前学习的时候的茫然&#xff0c;希望这次可以更加清晰的了解这一指标。上课的时候听老师提起过&#xff0c;当时没有认真去看&#xff0c;所以这次可以…

Java毕业设计-基于jsp+servlet的学生推荐平台管理系统-第81期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的学生推荐平台管理系统&#xff1a;前端 jsp、jquery&#xff0c;后端 servlet、jdbc&#xff0c;集成用户端和管理后台&#xff0c;用户端浏览书籍课程&…

All-Flash Array Key-Value Cache for Large Objects——论文泛读

EuroSys 2023 Paper 论文阅读笔记整理 问题 随着网络内容质量的提高&#xff0c;对缓存大型对象的需求不断增加。在生产内容交付网络&#xff08;CDN&#xff09;、图像和文档服务器中&#xff0c;大多数对象的大别为8KB–32KB&#xff08;CDN服务器&#xff09;、32KB–128K…

AI时代:驱动光模块市场增长

人工智能&#xff08;AI&#xff09;技术的崛起&#xff0c;犹如一股强大的催化力量&#xff0c;正在驱动各行各业经历前所未有的变革性转型。光学收发器市场作为这一范式转变的重要领域之一&#xff0c;正见证着由ChatGPT等先进模型引领的AI革命所带来的深刻影响。本文将深度剖…

学单片机前先学什么?

学单片机前先学什么&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff…

Linux中并发程序设计

进程的创建和回收 进程概念 概念 程序 存放在磁盘上的指令和数据的有序集合&#xff08;文件&#xff09; 静态的 进程 执行一个程序所分配的资源的总称 动态的进程和程序比较 注&#xff1a;进程是存在RAM中&#xff0c;程序是存放在ROM(flash)中的进程内容 BSS段&#xff…