Loading

摘要: 该Demo使用是纯C#编写(不建议使用XAML做动画效果,内存开销不可控且不便操作) 效果:速度、启动、暂停、缓动效果、线性渐变 代码如下 using System; using System.Text.RegularExpressions; using System.Windows; using 阅读全文
posted @ 2022-01-30 22:49 Stay627 阅读(300) 评论(0) 推荐(0) 编辑
摘要: RGB Alpha通道混合 首先定义一个ARGB数据,假定它为樱花粉 var argb = Color.FromArgb(200, 255, 0, 0); Color.FromArgb(参数1:Alpha通道,参数2:Red通道,参数3:Green通道,参数4:Blue通道) 将该数据套入下方公式, 阅读全文
posted @ 2022-01-10 14:47 Stay627 阅读(222) 评论(1) 推荐(1) 编辑
摘要: 客户端由于使用的是ThinyLinux系统(安装NTP时区不方便),默认是UTC(协调世界时) 服务端时区是北京时间,客户端拿到服务端时间后使用DateTime类型相关操作所导致时间变为UTC时间 此时我们需要做一个时区矫正的操作由UTC时间更正为UTC+8时间 也就是说在客户端时间+8小时就是北京 阅读全文
posted @ 2021-12-30 17:57 Stay627 阅读(202) 评论(0) 推荐(1) 编辑
摘要: 文章环境:由于本地是TinyLinux上执行的.Net Core程序,本机CPU Clock长时运行会发生日期偏差,所以本地时间是不正确的,由于规模作业NTP配置繁琐,所以我准备通过服务端授时,为了保证轻量化,这里博主使用nginx作为授时工具。 nginx官网http://nginx.org/en 阅读全文
posted @ 2021-12-28 15:49 Stay627 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 众所周知VS2022将不再支持.NET4.5,即使在Visual Studio Installer中也找不到.NET4.5的选项 在不改变项目结构的情况下,要么选择继续使用VS2019,当然博主已经卸掉了,那么还有什么方法呢? 我们可以在NuGet包中下载.NET 4.5的工具包 将PM:后的代码复 阅读全文
posted @ 2021-11-13 21:48 Stay627 阅读(3226) 评论(6) 推荐(9) 编辑
摘要: 问题描述: 在C#中使用PerformanceCounterCategory(性能计数器)数据读取时,会存在对该方法调用的线程可能无限挂起,可能出现该问题的原因如下: 性能计数器的读取需要枚举系统上的打印机,存在(无效/错误)的打印机或驱动 未安装IIS全家桶 相关StackOverflow:什么会 阅读全文
posted @ 2021-10-14 17:52 Stay627 阅读(77) 评论(0) 推荐(1) 编辑
摘要: //执行bat批处理 public static void Main() { ProcessStartInfo myBat = new ProcessStartInfo() { FileName = "D:\\temp\\myBat.bat", WorkingDirectory = Director 阅读全文
posted @ 2021-09-22 17:36 Stay627 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 在.NET4中Task.Factory.StartNew是调度新任务的主要方法,提供了许多任务调度功能与配置 但对于只需要开启新的后台任务委托来说书写起来并不够快 因此,在.NET Framework 4.5中,引入了新的Task.Run方法。这并不是说Task.Factory.StartNew过时 阅读全文
posted @ 2021-08-12 14:25 Stay627 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 众所周知DataGridColumns不是可视化树的一部分,所以无法进行相对绑定,因此它们不连接到DataGrid 此时我们可以在父级节点进行元素代理,使用该元素的DataContext <Grid> <Grid.Resources> <FrameworkElement x:Key="ProxyEl 阅读全文
posted @ 2021-08-09 10:24 Stay627 阅读(188) 评论(0) 推荐(3) 编辑
摘要: ###效果 #####我在GitHub开源地址:https://github.com/adsf130162/WPF-DataGrdDragRow #####使用MIT开源HandyControl样式库:https://github.com/HandyOrg/HandyControl ###首先定义一 阅读全文
posted @ 2021-07-17 14:53 Stay627 阅读(734) 评论(1) 推荐(1) 编辑
摘要: 结论: List性能要优于DataGrid,两者的源码实现都是基于数组数据结构 在增删DataTable时,会维护一张索引表,性能与List差距很大 在遍历DataTable时,会存在object 装箱操作 DataTable索引时基于RBTree实现(红黑二叉树) 题外话: 当我们对读写性能都有要 阅读全文
posted @ 2021-06-23 15:41 Stay627 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 在FreeSql源码中Expression表达式拼接默认最多支持到5个泛型参数,当我们使用表关联比较多的时候,就需要进行扩展。 新建一个类,将命名空间改为System.Linq.Expressions,并加入参数扩展 namespace System.Linq.Expressions { stati 阅读全文
posted @ 2021-05-09 19:42 Stay627 阅读(210) 评论(0) 推荐(0) 编辑
摘要: MVVMLight默认IOC容器是SimpleIOC,但该容器并没有实例的生命周期管理,也就是说默认是单例模式 在某些业务场景中,可能并不需要单例,而是每次都创建新的实例,下面是SimpleIOC使用一次性实例的用法 /// <summary> /// 打开某某窗口 /// </summary> p 阅读全文
posted @ 2021-03-30 11:08 Stay627 阅读(400) 评论(0) 推荐(1) 编辑
摘要: 相信大家在阅读WPF相关GitHub开源项目源码时都会看见一串串这种数据 这种Geometry数据就是几何图形数据 为什么要用Geometry数据做图标? 有一种做法是使用ttf字体文件代替,不过使用ttf字体文件会出现下面几个缺点: 1、团队协作不便于管理 2、需要依赖特定平台 3、无法灵活使用 阅读全文
posted @ 2021-03-26 18:10 Stay627 阅读(1258) 评论(3) 推荐(2) 编辑
摘要: 通常(例如:对于List 而言),Clear()实际上不会释放任何内存,它只会使集合显示为空。 New一个新集合将使原始集合可以使用GC(前提是不再有其他引用),并分配一个全新的集合。 哪个更好取决于多个因素,Clear()趋向于“更快”(不重新分配内存),但是会导致分配的内存持续更长的时间,进而导 阅读全文
posted @ 2021-03-08 11:09 Stay627 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 开门见山的说 性能对比: 在Demo中,DataGrid与ListView默认开启虚拟化(可以理解为动态渲染,类似懒加载只渲染屏幕可以看见的地方) DataGrid渲染10列50行随机字符280ms ListView渲染10列50行随机字符80ms 场景选择: ListView只生成需要展示的数据类 阅读全文
posted @ 2021-01-13 10:50 Stay627 阅读(1414) 评论(2) 推荐(2) 编辑
摘要: 前言:锐浪报表是一种中国式报表的报表开发工具。博主使用锐浪报表有一段时间了,积累了一些经验希望能帮助你快速掌握并使用 集成项目 首先我们先去锐浪报表官网下载并安装锐浪报表。 创建WPF应用程序。(C/S端使用锐浪报表基本都一样) 添加锐浪报表的引用,在资源管理器目录中找到引用并右键,点击添加引用。 阅读全文
posted @ 2020-06-20 10:55 Stay627 阅读(2270) 评论(6) 推荐(6) 编辑
摘要: 下面放一张效果图: 那么具体是怎么实现呢: 前端XAML中: <Image Source="/Images/tips.png" HorizontalAlignment="Left" Width="25" Height="25" MouseEnter="Image_MouseEnter" MouseL 阅读全文
posted @ 2020-01-11 10:28 Stay627 阅读(687) 评论(0) 推荐(2) 编辑
摘要: public static class InstalledPrograms { const string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; public static List<string> 阅读全文
posted @ 2022-06-17 10:38 Stay627 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 当我们遇到这个问题时首先需要观察的是被什么样的应用程序覆盖,一般来说是被使用OpenGL、DirectX(DX)等渲染引擎覆盖 比如GeForce Experience(nVidia显卡工具)的Alt+Z功能、Steam的Shift+Tab功能会覆盖掉我们的应用程序,Fraps的帧率显示 这些程序接 阅读全文
posted @ 2022-02-09 10:45 Stay627 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 该Demo使用是纯C#编写(不建议使用XAML做动画效果,内存开销不可控且不便操作) 效果:速度、启动、暂停、缓动效果、线性渐变 代码如下 using System; using System.Text.RegularExpressions; using System.Windows; using 阅读全文
posted @ 2022-01-30 22:49 Stay627 阅读(300) 评论(0) 推荐(0) 编辑
摘要: RGB Alpha通道混合 首先定义一个ARGB数据,假定它为樱花粉 var argb = Color.FromArgb(200, 255, 0, 0); Color.FromArgb(参数1:Alpha通道,参数2:Red通道,参数3:Green通道,参数4:Blue通道) 将该数据套入下方公式, 阅读全文
posted @ 2022-01-10 14:47 Stay627 阅读(222) 评论(1) 推荐(1) 编辑
摘要: 客户端由于使用的是ThinyLinux系统(安装NTP时区不方便),默认是UTC(协调世界时) 服务端时区是北京时间,客户端拿到服务端时间后使用DateTime类型相关操作所导致时间变为UTC时间 此时我们需要做一个时区矫正的操作由UTC时间更正为UTC+8时间 也就是说在客户端时间+8小时就是北京 阅读全文
posted @ 2021-12-30 17:57 Stay627 阅读(202) 评论(0) 推荐(1) 编辑
摘要: 文章环境:由于本地是TinyLinux上执行的.Net Core程序,本机CPU Clock长时运行会发生日期偏差,所以本地时间是不正确的,由于规模作业NTP配置繁琐,所以我准备通过服务端授时,为了保证轻量化,这里博主使用nginx作为授时工具。 nginx官网http://nginx.org/en 阅读全文
posted @ 2021-12-28 15:49 Stay627 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 最近在维护一个老项目时发现是EF6+SQLite3架构,实体是映射生成的(DB First),实体生成依赖System.Data.SQLite DDEX设计器 但是该设计器文档提示VS2017及以上将不再支持,所以我安装了VS2015 文档地址:http://system.data.sqlite.o 阅读全文
posted @ 2021-11-14 21:08 Stay627 阅读(27) 评论(0) 推荐(0) 编辑
摘要: Git Bash中输入git config --global --unset http.proxy 即可 阅读全文
posted @ 2021-11-13 22:18 Stay627 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 众所周知VS2022将不再支持.NET4.5,即使在Visual Studio Installer中也找不到.NET4.5的选项 在不改变项目结构的情况下,要么选择继续使用VS2019,当然博主已经卸掉了,那么还有什么方法呢? 我们可以在NuGet包中下载.NET 4.5的工具包 将PM:后的代码复 阅读全文
posted @ 2021-11-13 21:48 Stay627 阅读(3226) 评论(6) 推荐(9) 编辑
摘要: 问题描述: 在C#中使用PerformanceCounterCategory(性能计数器)数据读取时,会存在对该方法调用的线程可能无限挂起,可能出现该问题的原因如下: 性能计数器的读取需要枚举系统上的打印机,存在(无效/错误)的打印机或驱动 未安装IIS全家桶 相关StackOverflow:什么会 阅读全文
posted @ 2021-10-14 17:52 Stay627 阅读(77) 评论(0) 推荐(1) 编辑