WPF
文章平均质量分 65
WPF
故里2130
共同学习交流,包括C#,uniapp,H5,vue3,小程序,网站,客户端,数据库,后台接口等等,以及疑难的软件问题。
展开
-
wpf中团队独立开发模块和左侧2个菜单的框架演示
依次类推,“功能456”菜单栏包含了“功能4”,“功能5”,“功能6”,“功能4”就是UserControl4界面,“功能5”就是UserControl5界面,“功能6”就是UserControl6界面,这里我们使用了UC界面,而不是项目了,当然也可以使用项目的,只是为了区分一下。同“功能456”所示,“功能789”菜单栏包含了“功能7”,“功能8”,“功能9”,“功能7”就是UserControl7界面,“功能8”就是UserControl8界面,“功能9”就是UserControl9界面。原创 2024-07-28 22:14:36 · 1091 阅读 · 0 评论 -
wpf中开发独立模块功能和左侧1个菜单的框架演示
所以,对于整个软件开发来说,ABC,都只有一个dll,只维护自己的代码,并且,都只生成1个dll,最后把生成的这个dll全部给D成员发过去即可,D成员对各个模块都进行了组合。所以,当你的功能有很多,你就可以按照此规律再继续建立WpfControlLibrary4,WpfControlLibrary5,WpfControlLibrary6项目,同理左侧的菜单再进行增加,也可以让一个成员负责好几个dll,当业务量大或者工作量大的时候,可以再次进行人员和dll的动态分配问题,合理安排团队之间的任务量和工作模式。原创 2024-07-28 21:00:36 · 990 阅读 · 0 评论 -
wpf中轮询显示图片
本文的需求是,在一个文件夹中,放一堆图片的集合,然后在wpf程序中,按照定时的方式,循序显示照片。此处的fileNames可以换做内存读取图片的集合。补充:在内存中转化图片的时候,有很多格式,其中。1.声明一个PictureInfo类。原创 2024-07-25 23:43:47 · 534 阅读 · 0 评论 -
wpf线程中更新UI的4种方式
总结:通过案例,可以了解到,上面4种方式,对于此案例来说都可以达到最终的效果,但是那一种效果最好,并没有体现出来。博主认为:第三种最好,原因是从这个需求上考虑的,因为需求需要更新的就是txtUsername上面的数据,那么直接作用于它,对于资源的耗损,将是最少得。在wpf中,更新UI上面的数据,那是必经之路,搞不好,就是死锁,或者没反应,很多时候,都是嵌套的非常深导致的。但是更新UI的方式,有很多的种,不同的方式,表示的意思不一样,但是眼睛看到的,似乎是一回事。点击确定后,和前面的效果是一样的。原创 2024-05-04 17:14:16 · 2704 阅读 · 2 评论 -
WPF中Command 自定义命令
1.先写一个BaseCommand类,继承ICommand,点击实现接口。(1个事件,2个方法) public class BaseCommand : ICommand { public event EventHandler CanExecuteChanged; public bool CanExecute(object parameter) { throw new NotImplementedException()原创 2022-03-14 16:27:53 · 1766 阅读 · 0 评论 -
巧妙的使用WPF中的资源
其实,在wpf中,最核心的就是xaml,因为只有xaml,才能体现出用的是wpf,而不是普通的cs文件,cs文件在winform中等等程序都可以使用的,唯独xaml才是wpf中最重要的,最精华的东西,但是xaml说深也深,说浅也浅,很多人都是用winform的做法去开发wpf,从效果上看,没有任何区别的。今天说一下wpf中的资源,其实也属于xaml中的内容,万物皆资源。此时其实就是把UC控件充当了引用界面的方式,效果一毛一样。2.2在App.xaml中把它当做资源。建立MainViewModel。原创 2023-12-12 23:34:52 · 1014 阅读 · 0 评论 -
WPF创建进度条
关键点就是要对max的值进行判断,如果大于100和小于100的话,显示是不一样的,主要是因为进度条的值是100,要相对的扩大或者缩小,那么界面上显示的数据变化就是一样的。功能就是点击按钮,后台处理数据,前台显示处理数据的变化,当然还可以对进度条进行美化和关闭的操作,等待后台处理完毕数据,然后自动关闭。5.ProgressBarStyle.xaml,最后就是对进度条的美化样式。使用wpf做一个原生的进度条,进度条上面有值,先看效果。4.MainWindow.xaml.cs的代码。其中最重要的就是Task。原创 2023-11-28 22:48:20 · 1160 阅读 · 0 评论 -
wpf增加系统托盘图标
2. 因为NotifyIcon是winform中的控件,所以只能在cs文件中增加代码。第一种,使用Hardcodet.NotifyIcon.Wpf开源组件。1.同样建立一个程序,但是图标要修改成嵌入的资源,否则获取不到路径。第二种,使用winform中带的控件,NotifyIcon。2种方式,任意一种都可以,第一种更加的灵活,方便一些。使用系统托盘,可以为用户提供一个简便快捷的操作习惯。其中此处可以重写MenuItem的样式,以及其他事件。wpf中增加系统托盘图标有2种。图片选择资源,否则获取不到路径。原创 2023-06-24 23:08:49 · 2164 阅读 · 0 评论 -
WPF本地化/国际化,多语言切换
有很多种,可以使用自带的资源去做,就是使用xaml写key值,这种做法是最简单方便的,也是wpf独特使用的,如果有大量的翻译,那么需要人工去翻译,需要转折一次,此种方法就不说了。基本的技术差不多,但是后来又发现了一个ResXManager工具,可以更好方便快捷的使用。增加后,双击增加的语种,就会自动生成对应的.resx文件,想要多少种语言,就可以增加多少种。此处,可以导出Excel,让别人翻译,然后再导入,也可以使用在线翻译的功能,点击翻译。首先下载,网络不好的话,去官网下载,然后安装,重启vs即可。原创 2023-06-24 17:52:57 · 9452 阅读 · 11 评论 -
wpf中使用svg图片
在wpf中,svg图片不能直接使用,但是我们知道,svg图片比png,jpg等图片都好点,原因就是它是矢量图片,不会变形。这种可以解决复杂的问题,但是在编译界面中,也就是在xaml文件中,是不显示svg图片的,只有在运行的时候,才能显示。综上所述,从操作简单,功能最全来说,建议使用第四种,最起码图片转成xaml,不用复制了。使用SharpVectors开源的库,在nuget中,直接下载使用。2.拿到xaml中的内容,放到资源文件中,取名为abc。注意:图片的路径,以及增加资源中,否则显示不出来。原创 2023-06-05 23:06:04 · 4163 阅读 · 0 评论 -
wpf中使用ListView
1.xaml代码,给标题自定义文字,此处使用了控件模板的方法,把需要修改的内容格式都放在控件模板中2.cs不变{原创 2022-09-15 17:52:53 · 13229 阅读 · 0 评论 -
wpf中EventHandler的使用
其实在winform中也有事件,这个方法不仅WPF可以使用,winform也可以事件,其实都是.net的底层机制构造。应用情景:比如点击A界面的a按钮,跳转到B界面了,点击b按钮后,触发了业务逻辑,然后需要回到A界面中执行某一个方法。不是唯一的方法,可以使用别的方法,类似观察者模式,有变化了,就会改变。1.建立一个wpf程序,分别增加上述的界面和按钮以及逻辑,文件预览。5.效果,可见,点击B界面的b按钮,进入了A界面的a方法中。调试的时候,在A界面中,可以看到对应的值。2.Common.cs类。原创 2022-08-24 15:54:58 · 1302 阅读 · 0 评论 -
wpf中DataGrid的样式
在wpf中DataGrid是要经常遇到的,也是一个非常复杂的控件。本节使用DataGrid建立一个表格,并且带有上下左右的滚动条,以及表格中有按钮的功能。6.上下左右滚动条ScrollViewer样式。2.MainWindow.xaml文件代码。1.首先建立一个wpf程序,文件总览。7.最后在App文件中进行配置。5.DataGrid样式。4.Button样式。......原创 2022-08-07 13:37:46 · 8438 阅读 · 2 评论 -
解析wpf控件内部的结构
wpf的某一个控件是由多个小控件组成,小控件就是最小构成的控件。4. 从左边菜单可以看到,一个Button按钮是由006-009编号的小控件组成的,这里的006,007,008,009就是最小控件,这些小控件都可以在style中进行控制。5.再看右侧的属性,对其Text属性进行修改后,界面上的文字也跟着变化,最有效的就是点击某个小控件,则会显示这个小控件的形状,方便我们观察。依次展开后,发现非常的复杂,其中包括上下左右的滚动条都可以看到,甚至是滚动条上面的箭头和滑块都可以在此软件中详细的看见。...原创 2022-08-05 17:01:24 · 268 阅读 · 0 评论 -
wpf中TreeView的滚动条
TreeView中是自带有滚动条的,左右滚动和上下滚动,TreeView的内部是很复杂的。使用snoop软件可以看到,有一个上下滚动,和一个左右滚动。打开ScrollViewer.xaml的代码即可。4.ScrollViewer.xaml样式文件。其中有很多功能,可以根据对应的样式进行修改。如果需要全局引用,去掉界面上面的代码。1.建立一个wpf项目,文件总览。上面操作是某一个界面使用的。5.配置App.xaml。2.xaml文件代码。3.后台cs文件代码。..................原创 2022-08-04 16:50:27 · 3033 阅读 · 1 评论 -
在MVVM中加载界面后执行方法或者事件(行为behaviour)
这里主要说的是WPF,并且是prism框架中使用。如果不是prism框架也是可以的,代码中,把关于prism的框架去掉即可。业务:比如我们加载界面完成后,让界面默认执行一个方法,或者让默认点击一个事件。1.首先安装prism的框架,建立好MVVM模式,这里就不说了。2.在项目中加入2个重要的dllMicrosoft.Expression.InteractionsSystem.Windows.Interactivity最终结构是:3.前台界面代码<Window.原创 2022-05-27 18:50:41 · 1784 阅读 · 1 评论 -
WPF做动画
wpf做动画可以使用LottieSharp这是官网Free Lottie Animation Files, Tools & Plugins - LottieFiles在官网上面可以下载json文件。也可以在官网上面对json文件进行编辑https://lottiefiles.com/https://lottiefiles.com/本人下载了一些,然后在wpf中直接使用1.建立一个wpf程序2.前台界面<Window x:Class="WpfApp1.M原创 2022-05-20 14:53:42 · 1686 阅读 · 0 评论 -
WPF使用Blend
纯粹是了为了摸索和学习,所以进行记录。1.打开Blend建立一个项目2.拖动3个按钮(3个好看一点,其实一个按钮操作也是一样的 )3.建立动画,点击新建这里选择了Grid,也就是应用下面3个按钮。其中0,1,2分别表示从0到1秒,从1秒到2秒。当在1秒的时候,改变按钮的形状和颜色在2秒的时候,改变按钮的形状和颜色点击上面的绿色三角,可以进行动画播放4.创建触发器点击加号增加触发器,前面要先选择grid,然后选择load...原创 2022-05-19 16:27:49 · 2257 阅读 · 0 评论 -
WPF中拖动数据到另一个控件中
先说一下流程1.选择要拖动的数据2.拖动3.放入拖动的目标控件中。开始。1.先看界面,我们要把界面中的 Grid1 Grid2 Grid3 和Label的内容,分别拖动到TextBox中。2.在Grid中,增加MouseDown="Grid_MouseDown"事件,在TextBox中增加DragDrop.Drop="TextBox_Drop"事件,在Label中增加Label_MouseDown事件注意:拖动的地方增加MouseDown事件.原创 2022-04-15 12:34:47 · 1136 阅读 · 0 评论 -
WPF中StreamGeometry和Geometry的使用
StreamGeometry继承Geometry在xaml中代码<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.micr原创 2022-03-09 17:08:58 · 1401 阅读 · 0 评论