WPF
文章平均质量分 66
He BianGu
qq908293466
展开
-
示例:WPF中应用DataGrid读取实体DisplayAttribute特性自动自动生成列名
实体定义如下[Display(Name = "姓名", GroupName = "基础信息")][Required]set;[Display(Name = "班级", GroupName = "基础信息")][Required]set;[Display(Name = "地址", GroupName = "基础信息")][Required]set;[Display(Name = "邮箱", GroupName = "基础信息")][Required]set;原创 2024-06-17 17:05:06 · 598 阅读 · 0 评论 -
示例:WPF中在没有MouseDoubleClick的控件中如何识别双击
其中MouseButtonEventArgs有个ClickCount参数记录点击的次数,可以根据这个参数做判断。更精确的控制可以加上e.Timestamp参数,具体作用参考下面五的连接学习。定义Grid并注册Grid的MouseDown事件。同理三,四.....连击也类似。原创 2024-06-17 23:28:15 · 557 阅读 · 0 评论 -
示例:WPF中使用DecodePixelHeight和DecodePixelWidth优化Image性能
DecodePixelHeight="50"就是设置50Pixel的效果,通常DecodePixelHeight和DecodePixelWidth只设置一个就可以了,这样可以保证比例正确。如下图分别是原图,DecodePixelHeight=200 150 100 50 20的显示效果,当做缩略图时设置一个合理的值可以在内存和清晰度上面做均衡。原创 2024-06-17 19:02:10 · 502 阅读 · 0 评论 -
示例:WPF中使用IsAsync的方式绑定数据来优化用户体验
本质上启动页面后还是会卡,但用户体验不同,可以在窗口上加一个“正在加载,请等待”,让用户知道这块需要等待一下,而不是感觉程序崩溃掉了。原理跟BeiginInvoke类似,优先去弹出窗口,后面去加载数据,在不需要立即显示的数据上可以应用。可以看到,点击按钮时卡了一会才弹出窗口显示数据,代码如下。可以看到窗口会立即弹出来,之后去加载数据,代码如下。其中{Binding Collection,下面演示用IsAnsyc的方式绑定效果。在未使用IsAsync绑定的效果。功能已达到优化加载体验的效果。原创 2024-06-20 12:25:48 · 786 阅读 · 1 评论 -
示例:推荐一个应用Adorner做的消息对话框
1、安装nuget包:H.Modules.Messages.Dialog2、执行代码await AdornerDialog.ShowPresenter("我是AdornerDialog");AdornerDialog会使用MainWindow的Adorner层去显示遮罩层的对话框,不需要额外配置可以直接使用更多其他可选设置var r = await AdornerDialog.ShowPresenter("我是AdornerDialog", x =>});原创 2024-06-19 22:55:13 · 409 阅读 · 0 评论 -
示例:WPF中TreeView自定义TreeNode泛型绑定对象来实现级联勾选
分别在当前节点勾选有变化时去更新父节点和子节点的勾选状态。其中核心方法是如下方法。原创 2024-06-17 22:44:09 · 839 阅读 · 1 评论 -
示例:WPF中如何不卡顿页面的情况加载大量数据
对于ListBox的加载大量数据首先,想到的肯定是启用虚拟化,当然虚拟化是最佳选择,但有时布局或逻辑不允许应用VirtualizingStackPanel,或者是有些情况会破坏虚拟化。其次,可以使用分页,将数据分成多页去展示(这种也是一种虚拟化)。再者,就是应用尽量简单的元素去显示数据。这里介绍的是BeginInvoke的方式,下面是不用虚拟化直接加载的效果操作是生成10000个数据添加直接添加到ListBox的ItemsSource中,可以看到会卡住一段时间,如下是该功能代码。原创 2024-06-19 22:28:31 · 1700 阅读 · 1 评论 -
示例:WPF中应用MarkupExtention自定义IValueConverter
1、目的:应用MarkupExtention定义IValueConverter,使得应用起来更简单和高效原创 2024-06-17 12:10:52 · 875 阅读 · 0 评论 -
示例:WPF中应用DependencyPropertyDescriptor监视依赖属性值的改变
可以看到,当修改TextBlock的Background属性时,Text的值也做出相应改变。原创 2024-06-20 13:07:09 · 972 阅读 · 1 评论 -
演示:WPF开发的Diagram自动化流程图应用
流程图仪器仪表机器人网络通信测试PLC测试。原创 2024-06-17 11:20:13 · 1292 阅读 · 0 评论 -
示例:WPF中应用MarkupExtention自定义ICommand
addremove。原创 2024-06-17 16:01:34 · 209 阅读 · 0 评论 -
示例:WPF中绑定枚举到ComboBox的方式
应用GetEnumSourceExtension扩展绑定到ComboBox数据源。定义GetEnumSourceExtension类。原创 2024-06-17 23:00:14 · 1054 阅读 · 0 评论 -
示例:WPF中如何在主窗口显示之前增加一个登录窗口
if (r!在App里面重写OnStartup方法,注意这里要先 MainWindow mainWindow = new MainWindow();,之后去显示登录窗口,其中的原因可能是App默认的ShutDownMode是OnLastWindowClose,如果不将MainWindow在之前new出来,当登录窗口关闭时就会触发OnLastWindowClose从而程序退出,OnMainWindowClose模式也是如此。原创 2024-06-18 19:56:44 · 739 阅读 · 0 评论 -
示例:WPF中应用Grid的SharedSizeGroup设置整齐的布局
Grid.IsSharedSizeScope="True" 放在父级上,所有子元素的Grid标识了SharedSizeGroup都会列宽自动对齐。当我们在一个ItemsControl里面用Grid定义了两列时,显示效果如下,比较乱。这样看起来比较整齐,但是字段长度不可控制,有些会被覆盖掉,这时候需要。一般情况我们会把Grid,的列宽设置一个固定值。原创 2024-06-17 16:33:03 · 674 阅读 · 0 评论 -
示例:WPF中DataGrid简单设置合并列头
应用DataGridTemplateColumn自定义列头信息和单元格信息。原创 2024-06-17 18:00:01 · 1020 阅读 · 0 评论 -
示例:WPF中绑定枚举到ComboBox想显示成中文或自定义名称如何实现
首先定义如下枚举[Display(Name = "无")]None,[Display(Name = "第一个")]First,[Display(Name = "第二个")]Second,[Display(Name = "第三个")]Third其中DisplayEnumConverter是一个TypeConverter,继承自EnumConverterif (value!= null)原创 2024-06-17 23:09:59 · 679 阅读 · 1 评论 -
示例:WPF中通过改写MyButton.cs和MyButton.xaml文件名称使得代码结构更紧密,使用更方便
首先增加一个类文件MyButton.cs和资源文件MyButton.xaml重命名MyButton.cs文件为MyButton.xaml.cs,此时VS就会自动把两个文件结合变成类似一个用户控件的结构这样就将自定义控件或者任意cs文件跟xaml文件紧密结合,不用再到处去找自定义控件的Style了这种命名规则不仅限自定义控件,在定义DataTemplate和Model时也非常有用,可以很快的知道哪个Model它使用的DataTemplate是哪个。原创 2024-06-17 23:46:56 · 407 阅读 · 0 评论 -
示例:WPF中DataGrid设置多级分组样式
最后,设置DataGrid的GroupStyle,示例中定义了二级分组,所以需要设置两个GroupStyle。首先,定义一个支持分组排序的CollectionViewSource资源。然后,绑定到DataGrid的ItemsSource上。原创 2024-06-17 18:46:05 · 762 阅读 · 0 评论 -
示例:WPF中TreeView自定义TreeNode泛型绑定对象
set。原创 2024-06-17 22:20:46 · 764 阅读 · 0 评论 -
示例:WPF开发的资源管理器之文件列表控件
一、目的:分享一个wpf中级控件,同window系统中的资源列表控件二、实现:1、文件资源展示2、在路径中点击指定文件夹自动跳转3、前进、后退功能4、最近浏览的位置功能5、可配置显示文件或文件夹三、环境VS2019.NetFramework4.5四、示例五、下载地址https://github.com/HeBianGu/WPF-ControlBase.git...原创 2021-09-05 00:38:19 · 2839 阅读 · 6 评论 -
示例:WPF开发的资源管理器之树形浏览器
一、目的:分享一个WPF中级控件,树形资源管理器二、实现:1、同window资源管理器左侧文件资源管理器文件树效果差类似2、支持只加载文件夹3、支持同时加载文件夹和文件4、采用跟随系统图标5、支持添加快速访问6、支持添加自定义文件路径三、环境VS2019.NetFramework4.5四、示例五、下载地址https://github.com/HeBianGu/WPF-ControlBase.git...原创 2021-09-05 00:31:06 · 1740 阅读 · 0 评论 -
示例:WPF开发的鼠标悬停展开控件
一、目的:分享一个wpf中级控件,鼠标放上展开其他控件的效果二、实现1、多种位置布局方式,左上、左下、右上、右下、居中等2、多种展开呈现方式,水平布局、垂直布局、原型布局、弧形布局、行列布局等3、支持收缩时,只有当鼠标放置在展开按钮上才展开,可以精简布局空间三、环境VS2019.NetFramework4.5四、示例五、下载地址https://github.com/HeBianGu/WPF-ControlBase.git...原创 2021-09-05 00:17:00 · 1612 阅读 · 1 评论 -
示例:WPF开发的步骤进度控件
一、目的:分享一个WPF中级控件,Step步骤控件,主要用来显示复杂步骤进度二、实现:1、步骤个数可以动态配置2、正在运行步骤动画效果3、已完成步骤、运行中步骤、错误步骤等状态4、正在运行可配置进度百分比三、环境VS2019.NetFramework4.5四、示例五、下载地址https://github.com/HeBianGu/WPF-ControlBase.git...原创 2021-09-05 00:06:55 · 2401 阅读 · 1 评论 -
示例:WPF开发的穿梭控件,支持拖动操作
一、目的:分享一个WPF中级控件穿梭控件二、实现:1、单个列表拖动上下任意移动位置2、多个列表间数据任意拖动移动3、拖动时有控件鼠标跟踪效果三、环境VS2019.NetFramework4.5四、示例五、下载地址https://github.com/HeBianGu/WPF-ControlBase.git...原创 2021-09-05 00:00:59 · 1387 阅读 · 0 评论 -
示例:分享一个VS2019矢量图标库
一、目的:分享一个VS2019矢量图标库,可直接应用到WPF中二、示例:1、启动程序:2、点击查看代码3、可以将Drawing直接作为Background放入wpf中做显示,也可以引用资源库,直接设置staticsource静态资源设置背景三、下载地址https://github.com/HeBianGu/WPF-DrawingSource...原创 2021-01-01 19:36:55 · 1593 阅读 · 0 评论 -
示例:应用WPF开发的仿制百度网盘客户端UI布局
一、目的:应用WPF做的GitHub Desktop页面二、环境:.Net Framework 4.5三、示例:原图:实现效果图:未完待续...四、下载地址https://github.com/HeBianGu/WPF-ControlBase.git原创 2020-10-18 00:22:34 · 2959 阅读 · 0 评论 -
示例:应用WPF开发的仿制GitHub客户端UI布局
一、目的:应用WPF做的GitHub Desktop页面二、环境:.Net Framework 4.5三、示例:原图:实现效果图:未完待续...四、下载地址https://github.com/HeBianGu/WPF-ControlBase.git原创 2020-10-18 00:03:21 · 1463 阅读 · 0 评论 -
示例:应用WPF绘制轻量Chart图表之组合图效果预览
一、目的:演示应用WPF开发的Chart图,仅供参考二、环境:.Net Framework 4.5三、实现功能:1、曲线图2、散点图3、柱状图4、饼状图5、极坐标图5、雷达图其他功能后续添加...四、示例:经济指标男女身高体重分布温度与湿度访问来源Beijing AQI雷达图蒸发量和降雨量寿命与GDP版本下载量波形图正弦曲线示波图...原创 2020-10-17 23:34:51 · 8270 阅读 · 11 评论 -
示例:应用WPF绘制Chart图表之极坐标图
一、目的:演示最近应用WPF开发的极坐标视图供有需求的人参考二、环境:.Net Framework 4.5三、实现功能:1、曲线图2、散点图3、气泡其他功能后续添加...四、示例:五、下载地址:https://github.com/HeBianGu/WPF-ControlBase.git...原创 2020-10-17 22:56:29 · 1767 阅读 · 1 评论 -
示例:应用WPF绘制Chart图表之雷达图
一、目的:演示最近应用WPF开发的雷达供有需求的人参考二、环境:.Net Framework 4.5三、实现功能:1、雷达图其他功能后续添加...四、示例:五、下载地址:https://github.com/HeBianGu/WPF-ControlBase.git...原创 2020-10-17 01:01:23 · 1528 阅读 · 2 评论 -
示例:应用WPF绘制Chart图表之饼图
一、目的:演示最近应用WPF开发的饼图供有需求的人参考二、环境:.Net Framework 4.5三、实现功能:1、饼图2、差值饼图3、环形饼图4、组合饼图其他功能后续添加...四、示例:五、下载地址:https://github.com/HeBianGu/WPF-ControlBase.git...原创 2020-10-17 00:54:16 · 2621 阅读 · 1 评论 -
示例:应用WPF绘制Chart图表之柱状图
一、目的:演示最近应用WPF开发的柱状图供有需求的人参考二、环境:.Net Framework 4.5三、实现功能:1、柱状图2、叠加柱状图3、水平柱状图4、叠加水平柱状图其他功能后续添加...四、示例:五、下载地址:https://github.com/HeBianGu/WPF-ControlBase.git...原创 2020-10-17 00:38:51 · 2293 阅读 · 0 评论 -
示例:应用WPF绘制Chart图表之散点视图
一、目的:演示最近应用WPF开发的散点图供有需求的人参考二、环境:.Net Framework 4.5三、实现功能:1、普通散点2、气泡散点4、分布散点其他功能后续添加...四、示例:五、下载地址:https://github.com/HeBianGu/WPF-ControlBase.git...原创 2020-10-17 00:19:44 · 1565 阅读 · 3 评论 -
示例:应用WPF绘制Chart图表之曲线视图
一、目的:演示最近应用WPF开发的曲线视图供有需求的人使用二、环境:.Net Framework 4.5三、实现功能:1、折线曲线2、平滑曲线3、动画加载4、图例5、标记线(最大、最小、平均值、自定义值等)6、标定位置(最大、最小、平均值、自定义值等)7、范围蒙版(渐变色/单色)8、线条渐变色9、线条点显示在刻度中间位置等其他功能后续添加...四、示例:图例、折线、平滑曲线、动画加载标记线、蒙版、线条渐变色、刻度显示中间位置等.原创 2020-10-17 00:08:30 · 4247 阅读 · 6 评论 -
封裝:WPF基于Vlc.DotNet.Wpf封装的视频播放器
一、目的应用自带的MediaElement播放器播放文件类型有限,有些格式还需要安装插件,由此应用第三方工具包Vlc.DotNet.Wpf封装支持多格式的视频播放器二、环境VS2019、Win10、Vlc.DotNet.Wpf、HeBianGu.General.WpfControlLib 2.1.4、HeBianGu.Base.WpfBase 2.1.4三、效果注意: var libDirectory = new DirectoryInfo(System.IO...原创 2020-07-13 11:17:22 · 2698 阅读 · 5 评论 -
记录:WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)
https://blog.walterlv.com/post/wpf-transparent-window-without-allows-transparency.html转载 2020-05-26 17:16:21 · 1700 阅读 · 2 评论 -
示例:WPF中使用Grid+Margin实现抽屉菜单效果
一、目的:演示在WPF中使用Grid+Margin实现抽屉菜单效果二、效果:三、步骤:1、整体应用Grid布局: <Grid> <Grid.ColumnDefinitions> ...原创 2020-02-26 10:53:14 · 4446 阅读 · 0 评论 -
示例:WPF应用Behaviors封装的Zoom效果
一、目的:封装Zoom效果到Behavior中,方便实现鼠标滚轮定点放大缩小,鼠标拖动等效果二、实现1、鼠标滚轮定点放大缩小2、鼠标拖动平移3、恢复初始位置4、设置缩放是否应用在整个容器中5、设置居中对齐还是居左对齐6、通过行为直接加载三、示例四、实现过程1、如下定义Behavior /// <summary> Zoo...原创 2019-12-23 14:19:06 · 1523 阅读 · 0 评论 -
示例:WPF应用Behavior设置带有拖动和缓冲效果的ScrollView
一、目的:封装一个具有拖动效果和缓冲效果的ScrollView二、实现1、在ScrollView中通过鼠标拖动可以平移2、在ScrollView中滚动时具有缓冲效果3、封装在行为中直接附加三、示例四、实现过程1、创建拖动行为,如下 /// <summary> ScrollViewer带有鼠标拖动和触摸拖动效果 </summary>...原创 2019-12-23 14:01:30 · 986 阅读 · 0 评论 -
示例:WPF应用Behaviors封装的动画加载子项
一、目的:封装一个加载子项动画的行为二、实现1、通过动画依次加载子项显示2、封装在行为中方便调用3、设置动画的生成范围、显示时间、显示效果三、示例四、实现过程1、如下定义一个Behavior /// <summary> 容器内子控件加载时触发喷泉效果</summary> public class FountainAnima...原创 2019-12-23 13:42:55 · 736 阅读 · 0 评论