WPF 字符串传值到后端

复制代码
 public class CustormNode : UIElement
 {
     public ValueCollection Values { get; set; } = new ValueCollection();
 }

 [TypeConverter(typeof(ValueTypeConverter))]
 public class ValueCollection
 {
     private readonly List<int> _values = new List<int>();

     public int? this[int index]
     {
         get => _values.Count == 0 ? null : _values[index];
     }
     public void Append(int[] values)
     {
         _values.AddRange(values);
     }
 }


public class ValueTypeConverter : TypeConverter
 {
     public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)
     {
         return sourceType == typeof(string);
     }

     public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)
     {

         if (value == null || string.IsNullOrEmpty(value.ToString()))
             return base.ConvertFrom(context, culture, value);

         ValueCollection vc = new ValueCollection();
         string[] temp = value.ToString().Split(",");// new string[]{10,20,30}
         vc.Append(temp.Select(vs =>
         {
             int v = 0;
             int.TryParse(vs, out v);
             return v;
         }).ToArray());
         return vc;
     }
 }

ValueTypeConverter 类为 ValueCollection 提供了将字符串转换为 ValueCollection 的功能,尤其适用于处理形如 "10,20,30" 这样以逗号分隔的字符串,将其转换为存储这些数字的 ValueCollection 对象,方便在 UI 元素的数据绑定和序列化等场景中使用。

相关推荐
小熊恋旧2 小时前
Python 面向对象编程:方法、属性、继承与多态详解
开发语言·python
云边云科技_云网融合2 小时前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
Evand J2 小时前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
will_net2 小时前
apollo 站点部署&C#接入
开发语言·c#·apollo
晗夜未央3 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>3 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
努力努力再努力wz3 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
飞浪纪元[FWC–FE]4 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt
Wang's Blog4 小时前
Java 项目实战:交友项目 - 联系人列表
java·开发语言·交友
我命由我123454 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理