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

相关推荐
ascarl201030 分钟前
准确--k8s cgroup问题排查
java·开发语言
fpcc1 小时前
跟我学c++中级篇——理解类型推导和C++不同版本的支持
开发语言·c++
莱茵菜苗1 小时前
Python打卡训练营day46——2025.06.06
开发语言·python
爱学习的小道长1 小时前
Python 构建法律DeepSeek RAG
开发语言·python
luojiaao2 小时前
【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包
开发语言·python·编辑器
终焉代码2 小时前
STL解析——list的使用
开发语言·c++
SoFlu软件机器人2 小时前
智能生成完整 Java 后端架构,告别手动编写 ControllerServiceDao
java·开发语言·架构
英英_2 小时前
视频爬虫的Python库
开发语言·python·音视频
猛犸MAMMOTH2 小时前
Python打卡第46天
开发语言·python·机器学习
多多*3 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap