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

相关推荐
yu859395824 分钟前
基于MATLAB的随机振动仿真与分析完整实现
开发语言·matlab
赵钰老师27 分钟前
【结构方程模型SEM】最新基于R语言结构方程模型分析
开发语言·数据分析·r语言
guygg8828 分钟前
利用遗传算法解决列车优化运行问题的MATLAB实现
开发语言·算法·matlab
gihigo199828 分钟前
基于MATLAB实现NSGA-III的土地利用空间优化模型
开发语言·matlab
vastsmile1 小时前
(R)26.04.23 hermes agent执行本地命令超级慢的原因
开发语言·elasticsearch·r语言
我头发多我先学1 小时前
C++ 模板全解:从泛型编程初阶到特化、分离编译进阶
java·开发语言·c++
YSF2017_32 小时前
C语言16-makefile(3)——makefile的模式规则
linux·c语言·开发语言
星星码️2 小时前
C++选择题练习(一)
开发语言·c++
herinspace2 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
ILYT NCTR3 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang