2025年9月11日

WPF Grid自动画边框线,找到一个很好的控件GridOption,顺便修复这个控件的一个bug

摘要: GridOption可以自动的帮我们画出Grid边框线,并且支持Grid.RowSpan, ColumnSpan。 代码如下: 注意红线处的代码,修复了来回切换界面时,边框线越来越粗的问题,同时也需要注意,修改边框线属性,要重启才能生效 public class GridOption { //暂时不 阅读全文

posted @ 2025-09-11 14:19 lopengye 阅读(10) 评论(0) 推荐(0)

2025年9月5日

C#使用RestSharp调用.asmx接口示例

摘要: 如题,厂家提供的接口是.asmx接口,使用text/xml传输方式。 我们决定使用RestSharp进行对接 一,接口地址 使用接口地址创建RestClient对象时,一定要注意接口地址到.asmx即可,不能带上具体接口名称/xxxx http://127.0.0.1:8081/AOIService 阅读全文

posted @ 2025-09-05 15:54 lopengye 阅读(33) 评论(0) 推荐(0)

2025年8月29日

WPF使用GongSolutions.WPF.DragDrop库实现ListBox通过鼠标拖拽调整顺序,拖拽结束后的事件总结

摘要: 如题,GongSolutions.WPF.DragDrop库很强大,可以帮助我们更容易的实现ListBoxItem拖拽调整顺序的需求。 首先通过nuget添加库的引用 然后在xaml中添加: xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;ass 阅读全文

posted @ 2025-08-29 14:08 lopengye 阅读(71) 评论(0) 推荐(0)

2025年7月3日

在代码逻辑中,等待一个标记位的值变化,当值变化或者超时,则立即返回,一种实现方式

摘要: 在代码逻辑中,等待一个标记位的值变化,当值变化或者超时,则立即返回,一种实现方式 声明一个bool变量,作为标记位: bool _flag = false; 在一个方法中,我们将该标记位设置为true,然后开始等待其他逻辑将其改为false,或者超时。 _flag = true; await Wai 阅读全文

posted @ 2025-07-03 17:56 lopengye 阅读(11) 评论(0) 推荐(0)

2025年6月19日

向一个列表中新增一条数据时,如何生成下一条数据的名称?

摘要: 思路:如果列表为空,则返回“模板-1” 如果列表中没有匹配正则表达式的数据,则返回“模板-列表行数+1” 如果列表中有匹配正则表达式的数据,则将所有匹配的名称中的数字拿出来放到一个临时列表中,然后取Max+1为下一个序号 private string generateNextTemplateName 阅读全文

posted @ 2025-06-19 16:15 lopengye 阅读(9) 评论(0) 推荐(0)

2025年3月25日

自定义报表随想

摘要: 使用Word制作一个模板,在关键位置上使用占位符标记出需要替换的属性。 生成报表时,首先选择报告模板,然后加载模板文件,然后使用值将占位符替换掉,最后输出word文档。 阅读全文

posted @ 2025-03-25 13:50 lopengye 阅读(8) 评论(0) 推荐(0)

2024年3月29日

WPF中实现动态表单-来自GPT4的回答

摘要: 实现C#和WPF项目中的动态表单功能,需要在后端设计灵活的数据结构来存储表单配置(例如字段名、字段类型等),同时前端需要能够解析这些配置并据此生成相应的控件。以下是一种可能的实现方法: 1. 数据库设计 你的数据库需要至少包含两个表:一个用于存储表单字段的配置,另一个用于存储用户输入的数据。 表单配 阅读全文

posted @ 2024-03-29 18:13 lopengye 阅读(332) 评论(0) 推荐(0)

WPF中使用PDF模板实现PDF导出和预览-来自GPT4

摘要: 在C#和WPF项目中实现加载不同的PDF模板、查看报告和导出PDF文件的功能,可以通过以下步骤完成: 1. 选择PDF库 首先,选择一个合适的.NET PDF库。有许多库可以帮助你处理PDF文件,包括但不限于: iTextSharp: 一个功能强大的和灵活的库,适用于创建和修改PDF文件。它是iTe 阅读全文

posted @ 2024-03-29 18:12 lopengye 阅读(1443) 评论(0) 推荐(0)

2024年3月14日

C#中枚举类型Enum字段序列化为json的注意事项

摘要: 1. 枚举类型的字段是可以序列化和反序列化的,只不过序列化后,枚举类型变成了int类型 2. 如果想把枚举类型序列化以后显示为字符串,需要在枚举类型头部添加声明: [JsonConverter(typeof(StringEnumConverter))] public enum InputParamT 阅读全文

posted @ 2024-03-14 10:50 lopengye 阅读(429) 评论(0) 推荐(0)

2024年2月26日

WPF 非Control元素模拟鼠标双击MouseDoubleClick事件

摘要: private readonly DispatcherTimer _mouseLeftTimer = new DispatcherTimer(); private readonly DispatcherTimer _mouseRightTimer = new DispatcherTimer(); p 阅读全文

posted @ 2024-02-26 13:26 lopengye 阅读(195) 评论(0) 推荐(0)

导航