草庐IT

WPF中非递归(无后台代码)动态实现TreeView

在UI界面中,树形视图是比较常用的表示层级结构的方式,WPF中提供了TreeView控件。对于TreeView控件的基本使用已经有很多文章。大都是介绍如何在XAML中使用硬编码的固定信息填充Treeview控件,或者是后台代码递归遍历数据源,动态创建TreeView。这里我想介绍一下如何只通过XAML标记,不用一行后台代码遍历数据实现TreeView。技术要点与实现本文的技术关键点是层级式数据模板HierarchicalDataTemplate。HierarchicalDataTemplate是一个特殊的DataTemplate,它能够包装第二层模板。通过ItemsSource属性查找下一层级

WPF图形控件使用之-Line线控件使用

在项目中有的时候可能会用的画虚线或者设置线的流动效果,这个时候可能会使用到线控件。属性说明描述X1起始x轴坐标X1="10"Y1起始Y轴坐标Y1="10"X2结束X轴坐标X2="100"Y2结束Y轴坐标Y2="100"Stroke线条颜色Stroke="Red"StrokeThickness线条粗细StrokeThickness="2"StrokeDashArray设置虚线管道流动效果可以用虚线表示可以用这个属性做流动线效果。StrokeDashArray="3,1,2,5",(规律是第一位可视,第二位隐藏,第三位可视,第四位隐藏)循环StrokeDashArray="3,1,2",(规律是第

WPF 入门笔记 - 07 - MVVM示例

滴咚,大家好久不见💖。好就没写东西了,鸽着鸽着就无了😭。。。回到正题,上篇文章说完命令提了一嘴MVVM模式直接就上MVVMLight这些程序的框架了,虽然也没说多少,但还是有点不好过渡,这篇对MVVM做一些系统学习,同时复习一下前几篇博文中的内容,完成一个采用MVVM模式的示例Demo。🎶小插曲给N早之前文章中的可能混淆的内容做下说明-关于WPF入门笔记-04-数据绑定-OneWayToSource文本框爆红现象:在那篇文章一开始给初值是没问题的,因为OneWayToSource是将数据从绑定目标传递到绑定源,所以不给初值一定会出现绑定失败的问题文本框爆红我觉得和绑定模式没有关系,我猜测和文本

WPF图形控件使用之-VisualBrush图形画刷

VisualBrush 背景图 Background上画,线条(LineGeometry)、几何图形(RectangleGeometry)、椭圆(EllipseGeometry)、弧线(ArcSegment )、各种控件等,相对与DrawingBrush书写更简单一些。 属性说明备注Viewport(从左向右,从上向下,图像宽度放大比例,图像高度放大比例)放大背景图,Viewport="0,0,85"(X Y W H)  默认表示比例:调整图像的大小位置ViewboxUnits设置上面属性的比例为绝对值。ViewboxUnits="Absolute"TileMode设置平铺方式TileMode

WPF实现类似ChatGPT的逐字打印效果

背景前一段时间ChatGPT类的应用十分火爆,这类应用在回答用户的问题时逐字打印输出,像极了真人打字回复消息。出于对这个效果的兴趣,决定用WPF模拟这个效果。真实的ChatGPT逐字输出效果涉及其语言生成模型原理以及服务端与前端通信机制,本文不做过多阐述,重点是如何用WPF模拟这个效果。技术要点与实现对于这个逐字输出的效果,我想到了两种实现方法:方法一:根据字符串长度n,添加n个关键帧DiscreteStringKeyFrame,第一帧的Value为字符串的第一个字符,紧接着的关键帧都比上一帧的Value多一个字符,直到最后一帧的Value是完整的目标字符串。实现效果如下所示:方法二:首先把T

基于.net 4.5 使用VS连接PostgreSQL

一、依赖条件1、VS2019(或者支持.net4.5的任意版本)2、Npgsql组件包部分依赖项附下载地址:.net4.5链接PostgreSQL-PostgreSQL文档类资源-CSDN下载二、安装1、新建窗体框架选择.net4.52、安装Npgsql组件包在解决方案管理器 中右击项目,选择在文件资源管理器中打开文件夹,依次打开bin/debug,将安装包内容解压到debug文件夹中,附图: 3.在VS中进行引用解决方案管理器 中右击引用,选择添加引用,打开如下界面: 将两项前复选框勾上,选择确定 离开界面。三、代码实现1、添加引用usingNpgsql;2、连接指定数据库//示例为连接到本

WPF自定义TreeView滚动条样式

 根据客户需求,要在TreeView目录树上显示10万+个节点,但是目录树显示10万加节点后,整个页面操作起来非常卡,所以给目录树增加了虚拟化设置。但是虚拟化设置一直没生效,后来经过排查发现是使用的自定义滚动条导致了虚拟化设置没有生效,后来自己写了一个滚动条样式,问题解决了。目录树虚拟化设置属性WPF虚拟化技术https://blog.51cto.com/u_15127512/4364505 属性说明描述VirtualizingStackPanel.IsVirtualizing开启虚拟化属性VirtualizingPanel.IsVirtualizing="True" Virtualizing

你们眼睛干涩,胀痛吗?C# WPF 久坐提醒桌面小程序 - 内附 眼肌运动、远视力表高清图

目录说明设置提醒时间,及休息时间久坐提醒倒计时休息提醒倒计时休息到计时代码说明主窗体设置工作到计时休息倒计时源码高清图久坐提醒桌面小程序:干这行职业病比较多,之前用爱丽(即:玻璃酸钠滴眼液),用的时候挺舒服,缓解吧,不过治标不治本。注意休息,加强锻炼非常有必要,每工作1小时,休息10分钟(程序中有锁键盘鼠标的功能,那个太狠了,万一领导要东西电脑锁住了尴尬了,被我注释了),看看远方,办公桌上放盘绿值,没事的时候看看,站个桩,或者高架马步,马步扎得好,到老疾病少,不过注意别把膝盖搞坏了,我玩得狠现在有积液了😂八段锦真的不错,可以练练,B站上选那种带呼吸版的网上下的一些小程序,达不到自己想要的效果,

wpf - 此时在 .NET 图形世界中,图形技术采用的新手是否可以采取阻力最小的路径?

在过去5个月左右的时间里,我一直在使用AndrewTroelsen的书学习C#并熟悉.NET4堆栈中的内容……ADO.NET、EF4和一些WCF的知识.我对图形开发非常感兴趣(虽然不是游戏),这就是为什么当我决定选择Java或.NET来学习时选择走.NET路线的原因...因为我听说过WPF和看到了一些性感的截图等等。我什至几乎完成了Troelsen书中的4个WPF章节。现在,我突然在一个论坛上看到一些关于“WPF如何在Silverlight面前死了”的帖子。我搜索了更多,看到了目前发生的所有困惑......甚至像“Silverlight也死了!”这样的东西。使用HTML5。据我所知,我

wpf - 此时在 .NET 图形世界中,图形技术采用的新手是否可以采取阻力最小的路径?

在过去5个月左右的时间里,我一直在使用AndrewTroelsen的书学习C#并熟悉.NET4堆栈中的内容……ADO.NET、EF4和一些WCF的知识.我对图形开发非常感兴趣(虽然不是游戏),这就是为什么当我决定选择Java或.NET来学习时选择走.NET路线的原因...因为我听说过WPF和看到了一些性感的截图等等。我什至几乎完成了Troelsen书中的4个WPF章节。现在,我突然在一个论坛上看到一些关于“WPF如何在Silverlight面前死了”的帖子。我搜索了更多,看到了目前发生的所有困惑......甚至像“Silverlight也死了!”这样的东西。使用HTML5。据我所知,我