摘要: 在WPF中对控件进行截图是非常方便的,使用RenderTargetBitmap即可实现。但是如果是对Canvas这种类型的容器控件进行截图,截图的范围可能不准。此时可以使用如下方法对Canvas进行截图,方法来自Clemens。 public void WriteToPng(UIElement el 阅读全文
posted @ 2021-04-20 10:20 louzi 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 问题描述 当双击打开自定义格式的文件时,希望使用当前正在运行的进程,而不是另起一个进程。 本文介绍一种方式解决如上问题,方案参考user3582780的解答 设置自定义文件格式的默认打开方式 参考链接,具体步骤如下: 在HKEY_CLASSES_ROOT中新建项,命名为自定义文件格式(如.custo 阅读全文
posted @ 2021-04-14 17:14 louzi 阅读(906) 评论(0) 推荐(3) 编辑
摘要: 本文接上一篇WPF源码阅读 -- InkCanvas选择模式,本文介绍笔迹的选择过程及选中后的高亮显示方法,文中若有理解错误的地方,欢迎大家指正。选择效果如下图所示: InkCanvas是WPF中用于墨迹书写的控件,其具有书写、选择、擦除等模式。根据上图,可以看出笔迹的选择功能由如下三部分组成: 选 阅读全文
posted @ 2021-04-06 22:42 louzi 阅读(690) 评论(1) 推荐(2) 编辑
摘要: InkCanvas是WPF中进行墨迹绘制的控件,本文介绍下InkCanvas控件是如何进行选择操作的。文中有误的地方希望大家进行批评指正。 InkCanvas的选择效果 使用WPF可以轻松实现白板功能,只需要添加一个InkCanvas控件。修改InkCanvas的EditingMode属性可以控制I 阅读全文
posted @ 2021-03-29 11:40 louzi 阅读(831) 评论(0) 推荐(1) 编辑
摘要: 本文通过设计一个RadioButton,分享下使用Blend绘制Path的方法。待绘制的RadioButton样式如下文所示,如有更好的方法实现该样式,欢迎交流。 实现效果 将要实现的RadioButton样式如下图,可以看出按钮的笔尖和笔身的填充色,以及选中时右上方圆形的填充色一致,代表笔的颜色。 阅读全文
posted @ 2021-03-01 23:05 louzi 阅读(1148) 评论(3) 推荐(4) 编辑
摘要: 本文介绍WPF一种自定义按钮的方法。 实现效果 使用图片做按钮背景; 自定义鼠标进入时效果; 自定义按压效果; 自定义禁用效果 实现效果如下图所示: 实现步骤 创建CustomButton.cs,继承自Button; 创建一个资源文件ButtonStyles.xaml; 在资源文件中设计按钮的Sty 阅读全文
posted @ 2021-02-27 09:05 louzi 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 如深入浅出WPF中的描述,DataTemplate为数据的外衣,ControlTemplate为控件的外衣。ControlTemplate控制控件的样式,DataTemplate控制数据显示的样式,DataTemplate是ControlTemplate的一部分。本文介绍DataTemplate与C 阅读全文
posted @ 2021-02-24 18:27 louzi 阅读(613) 评论(0) 推荐(0) 编辑
摘要: NLog是适用于各种.NET平台(包括.NET标准)的灵活,免费的日志记录平台,NLog可将日志写入多个目标,比如Database、File、Console、Mail。下面介绍下NLog的基本使用方法。 使用步骤 添加引用 安装NLog Nuget package:Install-Package N 阅读全文
posted @ 2021-02-22 08:07 louzi 阅读(617) 评论(0) 推荐(0) 编辑
摘要: Prism是一个开源框架,用于在WPF、Xamarin Forms、Uno/Win UI等应用中创建松耦合、可维护、可测试的XAML应用程序。Prism提供了一组设计模式的实现,这些设计模式有助于编写结构良好且可维护的XAML应用程序,包括MVVM,dependency injection,comm 阅读全文
posted @ 2021-02-21 09:40 louzi 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 本文参考Prism官方示例 命令使用 Prism提供了两种命令:DelegateCommand和CompositeCommand。 DelegateCommand DelegateCommand封装了两个委托:Execute和CanExecute,使用如下: // view <Button Comm 阅读全文
posted @ 2021-02-20 23:26 louzi 阅读(722) 评论(0) 推荐(0) 编辑