摘要:
public static class DescriptionEx { /// <summary> /// 获取DescriptionAttribute信息 /// </summary> /// <param name="obj"></param> /// <returns></returns> p 阅读全文
摘要:
path参数 M x,y 将起点移动到指定位置 L x,y 从起点绘制直线到目标位置 A 20,20 0 1 0 0,1 起点 起点x,起点y 画椭圆 长轴,短轴 旋转角度 是否是优弧 正角方向绘制 终点x,终点y z 绘制闭合路径 TIP:对应的参数均有对应的小写表示,如m,l,a 使用小写字母的 阅读全文
摘要:
public static class WindowEx { public static void DoEvents(this Window obj) { DispatcherFrame frame = new DispatcherFrame(); Dispatcher.CurrentDispatc 阅读全文
摘要:
需要设置边距 btn.setMargin(new Insets(0,0,0,0)); 阅读全文
摘要:
public static class CopyEx { public static T DeepCopyByBin( T obj) { object retval; using (MemoryStream ms = new MemoryStream()) { BinaryFormatter bf 阅读全文
摘要:
解析网络协议如果使用依次读取字节的方式效率太低,可以直接通过结构体映射的方式来转换数据,如下 定义需要转换的结构体 需要让结构体数据顺序排列并对齐 依次定义每一个属性的长度即可,需要注意定义的数据类型的大小要与UnmanagedType类型定义的大小一直 否则会报 “不能作为非托管结构进行封送处理; 阅读全文
摘要:
安装nuget【 System.IO.Ports】 如果遇到提示系统不支持注意版本不要太高,目前测试安装5.0的版本可以正常使用或者将环境切换到.net6即可 ***测试中发现安装了7.0的System.IO.Ports会报错,再切换到5.0成功运行后切回7.0又可能成功运行了,后续遇到报错可以考虑 阅读全文
摘要:
自定义控件绑定属性需要提前注册这个属性,同时注册对应的回调函数 例如,若要添加信号值属性 在自定义控件中添加保存数据的属性 public double SignalValue { get { return (int)GetValue(SignalValueProperty); } set { Set 阅读全文
摘要:
用old保存就设置,用new保存新设置 确认逻辑 public void SaveCurrent() { //创建一个新对象(深拷贝) oldConfig = CopyEx.DeepCopyByBin(config); } 取消逻辑 public void Undo() { config = Cop 阅读全文
摘要:
保留原本的属性,按照颠倒的顺序将第一个元素的d属性添加到第二个元素的d属性之前,用空格分隔 若第一个path为 <path d="M972.810838 298.631144c-122.73839-122.73839-285.936809-190.342764-459.524787-190.3427 阅读全文