- 博客(40)
- 资源 (5)
- 收藏
- 关注
原创 Avalonia开发实践(五)——如何用后台代码创建模板
在自定义TemplatedControl时,有时并不想借助资源文件来搭建控件的模板。比如一个容器型控件,它的模板可能只有一个ContentPresenter,其他的相关逻辑都是在后台代码中实现的。在WPF中,有FrameworkElementFactory这么个东西,借助它可以在后台代码中进行VisualTree的搭建。果不其然,源码中ContentControl便是用这种方式构建模板的。与上述思路不同的是,它需要在静态构造函数中,对Template属性进行覆盖,以达到模板应用的目的。遇事不决,先翻源码。
2025-01-07 14:34:22
429
原创 使用ElementUI中的el-table制作可编辑的表格
在前端开发时,可能会需要用到可编辑的表格控件。一些原生的UI框架并不支持Table控件的可编辑功能,所以只能自己实现。
2024-11-26 16:59:32
3685
原创 NuGet如何支持HTTP源
今天是2024年11月21号,最近更新了VisualStudio后发现HTTP的包源已经默认禁止使用了,生成时会直接报错。官方也明确指出了要想使用HTTP包源的解决办法,这里就简单总结一下。
2024-11-21 11:08:07
1626
1
原创 WPF中GroupBox的标题如何居中
原生的GroupBox标题不可调整排版,文章通过对模板的重写,对原生实现方式的优化,最终实现了Header排版的控制。
2024-07-24 11:27:08
785
原创 Avalonia开发实践(三)——实现GroupBox
近期在项目中要用到GroupBox,结果发现Avalonia原生框架中竟然没有这一控件。想着这个控件也不算复杂,索性就自己实现一个好了。
2024-07-24 11:25:52
1335
原创 Avalonia开发实践(二)——开发带边框的Grid
在实际开发工作中,常常会用到Grid进行布局。为了美观考虑,会给每个格子加上边框,如下图:原生的Grid虽然有ShowGridLines属性可以控制显示格子之间的线,但线的样式不能定义,可以说此功能非常鸡肋。接下来我们自己动手实现Grid中的网格线!
2024-07-09 18:02:19
1073
原创 Avalonia开发实践(一)——对比WPF和Avalonia的边框渲染差异
众所周知,诸如Border、Rectangle等元素,是具有边框的。但在WPF和Avalonia中,边框的渲染机制有所不同。笔者对比了二者差异,并简要分析了产生原因和各自的优势。
2024-06-03 16:42:00
973
原创 WPF水流动画(使用转换器模拟逻辑门控制水流信号)
在使用WPF绘制流程图并模拟水流动画时,往往既需要控制阀泵的开合,又要控制动画启停。倘若能够将阀泵的开合与动画播放建立逻辑关系,即实现水流信号的模拟,这样就能够让业务代码“专心”地去控制阀泵开关,而不需要处理界面的展示效果。
2024-05-17 20:19:21
884
原创 VisualStudio给项目或解决方案右键菜单中添加选项
①顶部菜单选择:工具->外部工具②添加一个新的工具③顶部菜单选择:工具->自定义④在弹出的“自定义”对话框中,选择命令->上下文菜单->项目和解决方案上下文菜单
2022-10-13 20:59:11
3388
原创 WPF 实现Circle控件(原Arc控件和Pie控件的合并版)
看过上一篇文章的应该知道,Arc和Pie的实现方式区别不过是一个把Path路径的终点与起点相连,一个没有相连,于是本人就索性把二者合二为一了。决定是画Arc还是画Pie,完全根据Stroke和Fill两个属性来判断。只需两个Circle即可构成环形进度条。
2022-09-14 17:38:13
724
原创 Telerik的RadChartView添加图例
当我使用RadChartView绘制图表时,直接给Series设置SeriesLegendSettings并没有出现图例,后知后觉地发现,还需要单独添加RadLegend元素,绑定RadChartView的LegendItems。
2022-07-22 14:14:04
328
原创 如何清理系统应用程序名称缓存
在日常开发工作中,会遇到修改应用程序集名称(AssemblyTitle)的情况。该属性会被显示在任务栏右击弹出菜单中,如下:但是,该属性和应用程序图标一样,会被缓存在系统注册表中。一旦创建,只要路径不变就不会更新。因此,在修改完AssemblyTitle之后,还应该清除系统注册表缓存,保证及时更新。这里就将清理注册表缓存的方式列举如下:1、找到注册表路径 HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCach
2021-05-16 11:51:27
3292
原创 使用AutoMapper映射不具有无参构造函数的对象
最近在用DDD(领域驱动设计)进行框架搭建,当使用AutoMapper对DTO和实体进行对象映射时,遇到了一个问题。具体报错如下:XXX needs to have a constructor with 0 args or only optional args.很明显,AutoMapper需要被映射的对象有无参构造函数或者与构造函数的参数匹配。于是便有了两种解决办法:一是在领域实体对象中添加一个Protected类型的无参构造函数,这样也不会与设计原则相违背;二是让含参构造函数的参数名与映射对象匹
2021-02-05 14:08:59
801
原创 .NET 多线程开发总结(四)——借助异步语法实现可延时触发的按钮
转眼又是一年,作为开年的第一篇博客,先写点简单的热热手,毕竟也好久没写了。如题,这是一篇实战类型的文章,之所以放到“多线程开发”这个系列来呢,是因为…Emmmm,没有理由,就是想放这(任性**_**)。进入正题>>>在日常开发中,会遇到如下一些情况:①按钮点击后隔一段时间方可再次点击,如:发送验证码②按钮加载后隔一段时间方可点击,如:阅读条款后已同意按钮③按钮点击后隔一段时间才会触发事件,如:点击查询按钮后指定时间无响应则主动结束针对①②两种情况,我们可以联合起来分析,如在C
2021-01-06 17:08:42
249
原创 探究TreeView中节点的展开收缩动画
声明:此探究过程基于WPF框架。我们知道,在默认的TreeView样式中,节点的展开和收缩都是没有动画效果的,实质上就是通过TreeViewItem的IsExpanded属性来判断子节点内容是否显示。因此,要想实现动画效果,就要从TreeViewItem的样式中下手。过程探究:1一、先实现简单的展开和收缩效果为了节省工作,我直接从Blend中将TreeViewItem的样式Copy过来(代码略长,请自行滚动翻页)<Style x:Key="TreeViewItemFocusVisual
2020-12-11 15:56:07
1112
原创 好记性不如烂笔头(一)——局域网可以Ping通,但Socket无法连接
解决路线:1、先尝试用Telnet连接端口号尝试。如出现以下情况,说明Telnet未安装通过 控制面板->程序和功能->打开和关闭Window功能 中进行Telnet客户端和服务端的安装再次用Telnet连接服务器端口号,如显示无法连接,而服务端程序确定已经打开,说明此端口号被限制。此时查看防火墙是否已开启,如是,则关闭防火墙后再次尝试以上操作。这是如果出现以下画面,则说明就是防火墙的锅。2、要在防火墙打开时,也能进行端口访问,进行如下设置。①在防火墙高级安全设置中,建立
2020-11-17 09:40:11
13732
原创 WPF模块化开发实现样式全统一
没有废话,直入主题。什么是WPF模块化开发?在一个多人开发的项目中,将复杂的系统需求分解成更细小的模块,有利于功能的分化、代码的解耦、人员分工更加明确…而在这一过程中,不可避免地会在模块中涉及UI的开发。那么如何能够统一不同模块的UI风格,是一个重要的话题。由此衍生出WPF模块化开发的概念。WPF具有强大的资源引用机制,可以方便地将样式资源保存在独立的项目模块中。如此一来,就能...
2020-11-11 15:08:16
1303
原创 WPF项目生成类库后还原成Windows应用程序报错问题
在WPF项目生成类库时,需要将App.Xaml文件移除。如果想重新生成Windows应用程序,再将其加入到项目中,但此时编译仍然过不了,会报一个错误:程序不包含适合于入口点的静态 “Main” 方法问题就在于 .csproj文件没有还原成以前的样子。打开它,找到如下代码段:<ItemGroup> <Page Include="App.xaml"> <SubType>Designer</SubType> <Generator>Xaml
2020-10-27 15:35:11
456
原创 WPF 弧形和扇形进度条绘制
在数据展示中,经常会用到圆弧和扇形来表示数值大小,不仅美观且空间利用率很高。以下是借助本人开发的Arc和Pie控件实现的数据展示工具:控件源代码链接如下:自实现Arc控件上面三个展示效果的代码也贴出来:<Grid Margin="0,0,350,0"> <local:Arc x:Name="arc" Width="115" Height="115" Rect="7.5,7.5,100,100" StartAngle="0" EndAngle="200" Stroke="S
2020-09-29 17:12:33
1463
2
原创 WPF 自实现Arc控件和Pie控件(根据起止角度画圆弧或扇形)
继承Shape类实现的Arc控件和Pie控件,可以像GDI+中的DrawArc和DrawPie函数一样,在矩形区域内根据起始和终止角度画圆弧或扇形
2020-09-29 15:39:51
2975
1
原创 【SQL Server】7种插入方式的效率对比(史上最全)
关于Sqlserver的插入方法已经了解很多,于是打算好好整理一下,并做一个性能上的综合对比。试验准备:数据库版本:SqlServer 2008 R2创建数据库结构如下:CREATE TABLE [UserInfo](ID int,UserName nvarchar(50),Pwd varchar(50))试验过程:一、正常逐条插入方式1K条和10W条数据的执行结果如下:执行代码如下:Console.WriteLine("逐条插入法");Stopwatch sw = Stopwa
2020-08-27 01:01:54
7214
1
原创 .NET 多线程开发总结(二)——Thread、ThreadPool、Task、Parallel的简单使用
Thread、ThreadPool、Task、Parallel的对比和使用
2020-08-11 17:53:42
1379
原创 云来之笔——WPF下使用TreeView实现流程图效果
先来上一张成品图这里用到的是MVVM模式,在资源中定义好节点(TreeViewItem)模板,模板中的显示样式(如当前状态等)则借助DataTrigger触发器,由绑定的数据源来进行控制。
2020-07-09 16:53:58
1282
原创 WPF实现径向渐变的圆环
最近制作工业流程图,需要绘制管道。直线形的管道就不必说,可以用线性渐变画刷LinearGradientBrush来实现,大概就是这样的效果——
2020-02-25 09:52:35
2424
原创 VB.NET获取窗体按键并绑定到Button事件
今天有朋友问到如何把按键响应到按钮事件,做成类似遥控器的形式。简单的写了个小程序,顺便分享出来:首先新建个窗体应用程序,在界面添加如下四个按钮:我们利用重写Form中的ProcessCmdKey事件来获取按键值,从而绑定到按钮事件:Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData A...
2019-11-05 18:48:52
1459
原创 C# 简单的颜色渐变算法
今天要用到一个颜色渐变的算法,网上看了很多,觉得都太繁琐,索性自己写一个。话不多说,直接上代码!**这是用来获取某一颜色段的分度集合** /// <summary> /// 获得某一颜色区间的颜色集合 /// </summary> /// <param name="sourceColor">起始颜色</p...
2019-11-01 16:45:41
3017
WPF分布式开发,实现样式统一
2020-11-11
WPF下使用TreeView实现流程图效果
2020-07-09
WPF 自定义MessageBox消息提示框,可实现前后台分离
2020-07-09
WpfDemo20200330_反射线.zip
2020-04-21
VB.NET获取窗体按键并绑定到Button事件
2019-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人