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 元素的数据绑定和序列化等场景中使用。

相关推荐
life_time_2 小时前
C语言(22)
c语言·开发语言
界面开发小八哥2 小时前
界面组件DevExpress WPF中文教程:Grid - 如何显示和隐藏列?
wpf·界面控件·devexpress·ui开发·.net9
Minner-Scrapy2 小时前
DApp 开发入门指南
开发语言·python·web app
孤雪心殇2 小时前
简单易懂,解析Go语言中的Map
开发语言·数据结构·后端·golang·go
庸俗今天不摸鱼2 小时前
Canvas进阶-4、边界检测(流光,鼠标拖尾)
开发语言·前端·javascript·计算机外设
菠菠萝宝2 小时前
【Java八股文】10-数据结构与算法面试篇
java·开发语言·面试·红黑树·跳表·排序·lru
奔跑吧邓邓子2 小时前
【Python爬虫(36)】深挖多进程爬虫性能优化:从通信到负载均衡
开发语言·爬虫·python·性能优化·负载均衡·多进程
不会Hello World的小苗2 小时前
Java——链表(LinkedList)
java·开发语言·链表
lsx2024063 小时前
Perl 面向对象编程指南
开发语言