刷新
WPF DataGrid多选行数据并绑定属性

博主头像 在WPF的第三方控件UI库中,有些DataGrid实现了但是又有一些没实现多选行绑定数据。所有我现在通过附加属性来实现。 首先,实现DataGrid多选附加属性类 /// <summary> /// DataGrid多选附加属性 /// </summary> public class DataGri ...

使用Prism框架搭建Mvvm模式WPF程序

博主头像 一、使用NuGet安装Prism框架 二、构建ViewModel基类,注册导航器,弹窗服务,事件聚合器,多语言,log4net日志 1、新建ViewModelBase基类,继承自BindableBase, INavigationAware, IRegionMemberLifetime, IConfi ...

WPF 记录鼠标、触摸多设备混合输入场景问题

博主头像 本文记录在WPF应用中鼠标、触摸混合输入,鼠标事件抬起时不会有MouseUp事件触发的问题。 事件输入我们都知道有3类:鼠标、触摸、触笔,鼠标是windows系统出来就有的事件,后面加了触笔、触摸。 1.鼠标输入,只会触发Mouse冒泡隧道事件; 2.触笔输入,会触发除了Stylus事件外,还会触发 ...

在 WPF 中将视频中的纯绿色显示为透明

博主头像 最近需要制作一个类似桌面宠物的东西,碰到了这样一个问题:受 MediaElement 支持的带 alpha 通道的视频格式有限,且后续还要接入相关的深度学习模型动态生成口型,大概率生成不了透明背景。这个该怎么办呢?一个思路是把视频抽帧抠图,然后依次显示透明背景的图片(或者再组合成视频播放)。另外一个 ...

[WPF UI] 为 AvalonDock 制作一套 Fluent UI 主题

博主头像 AvalonDock 是我这些天在为自己项目做技术选型时发现的一个很好的开源项目,它是一个用于 WPF 的布局控件库,可以帮助我们实现类似 Visual Studio 的布局效果。因为它自带的一些样式我并不是很喜欢,我想要那种跟 WinUI 风格一样的样式。经过这几天的学习和尝试,我已经按照 Win ...

WPF中为Popup和ToolTip使用WindowMaterial特效 win10/win11

博主头像 先看效果图: win11: win10: 大致思路是:通过反射获取Popup内部的原生窗口句柄,然后通过前文已经实现的WindowMaterial类来应用窗口特效;对于ToolTip,为了保持其易用性,我使用了附加属性+全局样式的方式来实现,ToolTip也是一个特殊的Popup. 前文链接:WPF ...

WPF性能优化之UI虚拟化

博主头像 @目录前言一、VirtualizingStackPanel1.1 虚拟化功能介绍1、在Window中添加一个ListBox控件。2、在设计视图中用鼠标选中ListBox控件并右健依次单击“编辑其他模板”-“编辑项的布局模板”-“编辑副本”。3、查看生成的模板代码。1.2 虚拟化参数介绍二、Custo ...

[WPF]数据绑定时为何会出现StringFormat失效

在数据绑定过程中,我们经常会使用StringFormat对要显示的数据进行格式化,以便获得更为直观的展示效果,但在某些情况下格式化操作并未生效,例如 Button的 Content属性以及ToolTip属性绑定数据进行StringFormat时是无效的。首先回顾一下StringFormat的基本用法 ...

不可不知的WPF画笔(Brush)

博主头像 在WPF中,屏幕上的所有内容,都是通过画笔(Brush)画上去的。如按钮的背景色,边框,文本框的前景和形状填充。借助画笔,可以绘制页面上的所有UI对象。不同画笔具有不同类型的输出( 如:某些画笔使用纯色绘制区域,其他画笔使用渐变、图案、图像或绘图)。 ...

Prism:框架介绍与安装

博主头像 Prism:框架介绍与安装 什么是Prism? Prism是一个用于在 WPF、Xamarin Form、Uno 平台和 WinUI 中构建松散耦合、可维护和可测试的 XAML 应用程序框架 Github https://github.com/PrismLibrary/Prism NuGet htt ...