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

WPF-数据转换器

一、单值转换器

1.不传参数

转换器 当Value值大于100时返回红色

public class DataConverter : IValueConverter{/// <summary>/// 表示从源到目标数据转换/// </summary>/// <param name="value">数据源的值</param>/// <param name="targetType">目标类型 根据目标类型进行不同转换</param>/// <param name="parameter">参数</param>/// <param name="culture">本地国际化时使用</param>/// <returns></returns>public object Convert(object value, Type targetType, object parameter,  CultureInfo culture){if (int.Parse(value.ToString()) > 100)return Brushes.Red;return Brushes.Black;}/// <summary>/// 表示从目标到源头的数据转换 /// </summary>/// <param name="value"></param>/// <param name="targetType"></param>/// <param name="parameter"></param>/// <param name="culture"></param>/// <returns></returns>public object ConvertBack(object value, Type targetType, object parameter,  CultureInfo culture){throw new NotImplementedException();}}

2.传参数Parameter

选则男或女后 后台的绑定值也发生变化

public class GenderConverter : IValueConverter
{public object Convert(object value, Type targetType, object parameter,  CultureInfo culture){//第一次 男标签触发 value=1 p=1//第二次 女标签触发 value=2 p=2if (value.ToString() == parameter.ToString())return true;return false;}//值返回的处理public object ConvertBack(object value, Type targetType, object parameter,  CultureInfo culture){return parameter;}
}

二、多值转换器

使用MultiBinding绑定多值,转换器使用数组接收

<Window.Resources><local:TextMulti x:Key="TextMulti"/>
</Window.Resources>
<Grid><TextBox x:Name="tex1"/><TextBox x:Name="tex2"/><TextBox x:Name="tex3"/><TextBox x:Name="tex4"><TextBox.Text><MultiBinding Converter="{StaticResource TextMulti}"><Binding ElementName="tex1" Path="Text" Mode="TwoWay"/><Binding ElementName="tex2" Path="Text" Mode="TwoWay"/><Binding ElementName="tex3" Path="Text" Mode="TwoWay"/></MultiBinding></TextBox.Text></TextBox>
</Grid>
public class TextMulti:IMultiValueConverter
{public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture){return values[0] + " " + values[1] + " " + values[2];}public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture){return value.ToString().Split(' ');}
}
http://www.lryc.cn/news/538469.html

相关文章:

  • 09 解决方案 - 开源机器人+具身智能+AI
  • 2025 BabitMF 第一期开源有奖活动正式开启 !
  • 项目管理十大领域是哪些
  • 期权帮|股指期货的有效止盈止损策略?
  • PCL 基于视椎体裁剪点云
  • @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
  • LabVIEW 中的 3dgraph.llb 库
  • 【PHP】php+mysql 活动信息管理系统(源码+论文+数据库+数据库文件)【独一无二】
  • qt QOpenGLTexture详解
  • 【时间复杂度和空间复杂度】
  • 王炸 用AI+飞书 分解 一键生成 项目计划表模版
  • VisionMaster4.4 python脚本 图像处理 转换函数 爱之初体验
  • 线程池的使用 + MD5加密 + 枚举类
  • [qt5学习笔记]Application Example示例程序源码解析
  • 【在时光的棋局中修行——论股市投资的诗意哲学】
  • IB网络错误检查工具ibqueryerrors
  • 「vue3-element-admin」Vue3 + TypeScript 项目整合 Animate.css 动画效果实战指南
  • 论文阅读 DOES END-TO-END AUTONOMOUS DRIVING REALLY NEED PERCEPTION TASKS?
  • 25年黑龙江省考报名流程详细教程
  • 基于SpringBoot的小区运动中心预约管理系统
  • 部署postgresql_exporter监控pgsql
  • Mac本地部署deepseek
  • huggingface+下载deepseek8b lamda+本地部署 笔记
  • 中上211硕对嵌入式AI感兴趣,如何有效规划学习路径?
  • Jedis 客户端 用于java连接redis服务
  • 车载诊断数据库 --- 通用性诊断数据库ODX
  • docker 基础命令使用(ubuntu)
  • IDEA集成DeepSeek
  • Unity 接入Luabn记录图解
  • 【MySQL】我在广州学Mysql 系列——Mysql 日志管理详解