草庐IT

循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(8) -- 使用Converter类实现内容的转义处理

在我们WPF应用端的时候,和WInform开发或者Vue前端开发一样,有时候也需要对内容进行转义处理,如把一些0,1数值转换为具体含义的文本信息,或者把一些布尔变量转换为是否等,都是常见的转换处理,本篇随笔介绍在WPF应用端对内容使用Converter类实现内容的转义处理的操作。1、使用Converter实现内容转义或者强调颜色一般在DataGrid中,我们往往都会根据需要对内容或者颜色进行一些转义处理,如下界面所示用户列表信息中,对性别和是否过期的内容进行颜色和内容的转义处理。在DataGrid的XAML代码中,如果是常规的内容,通过定义列名称即可显示,如下所示。DataGridTextCo

WPF3D关于HelixToolkit-3D呈现的交互处理

关于HelixToolkit-这个3D呈现的交互处理推荐使用,因为功能比较强大一个开源3D库,根据MIT许可证获得许可。MIT许可证非常宽松,允许在专有软件中使用。该库基于.NET,目前专注于WPF平台。HelixToolkit是.NETFramework的一个开源3D图形库,它主要用于创建和操作3D图形1。HelixToolkit包含许多实用的3D图形工具,例如3D视图、3D模型、3D场景、3D渲染、3D动画等,它们可以帮助开发者快速创建出高质量的3D图形应用程序1。HelixToolkit的文档和教程可以在官方网站上找到,开发者可以根据需要查看和使用地址:https://github.co

循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(7) -- 图标列表展示和选择处理

我们在WPF应用端的界面中,使用lepoco/wpfui来做主要的入口框架,这个项目它的菜单内置了不少图标,我们需要在动态菜单的配置中,使用它作为图标的展示处理,本篇随笔介绍如何基于图标枚举集合进行图标的展示和选择处理。并扩展到Font-Awesome-WPF的处理进行展示和选择。1、lepoco/wpfui项目的图标库lepoco/wpfui项目的图标库来源于FluentSystemIcons,项目地址是:https://github.com/microsoft/fluentui-system-icons这些图标映射到枚举对象 SymbolRegular和SymbolFilled,一个是常规

WPF DataGrid:ListCollectionView排序似乎在更改数据后似乎不起作用

我的DataGrid'ItemsSource是一个ListCollectionView,有一个GroupDescription和两个SortDescriptions。在该程序的第一次运行中,一切都应尽其所能。但是,当数据ListCollectionView是基于更改的,分类的ListCollectionView失败(而Grouping才不是)。它表现得好像标记为“线A”和“线B”的两条线根本不存在。publicListModels{get;set;}publicListCollectionView_collectionView;publicMyConstructor(){InitializeC

WPF本地化/国际化,多语言切换

之前写过winformwinform使用本地化,中英文切换_winform中英文切换_故里2130的博客-CSDN博客基本的技术差不多,但是后来又发现了一个ResXManager工具,可以更好方便快捷的使用。首先下载,网络不好的话,去官网下载,然后安装,重启vs即可wpf做多语言切换有很多种,可以使用自带的资源去做,就是使用xaml写key值,这种做法是最简单方便的,也是wpf独特使用的,如果有大量的翻译,那么需要人工去翻译,需要转折一次,此种方法就不说了。下面说2种使用.resx资源和ResXManager工具来做。唯一的好处,就是自带翻译功能,方便快捷。第一种1.此处使用.net6创建wp

WPF 笔迹算法 从点集转笔迹轮廓

本文将告诉大家一些笔迹算法,从用户输入的点集,即鼠标轨迹点或触摸轨迹点等,转换为一个可在界面绘制显示笔迹画面的基础数学算法。尽管本文标记的是WPF的笔迹算法,然而实际上本文更侧重基础数学计算,理论上可以适用于任何能够支持几何绘制的UI框架上,包括UWP或WinUI或UNO或MAUI或Eto等框架我将从简单到复杂的顺序描述笔迹算法,本文属于比较偏算法底层,阅读之前请先确保初中的数学知识还没忘了本文适合于想要了解笔迹绘制更多细节的伙伴,以及期望自己设计出更好看的笔迹的伙伴,以及没事干摸鱼看博客的伙伴最简单的笔迹轨迹算法大家都知道,无论是鼠标还是触摸还是笔,所产生的数据基本都是点数据。根据点集创建一

Wpf DataGrid设置列标题动态绑定实例

在WPF中,可以使用DataGrid控件来显示和编辑表格式的数据。要设置DataGrid列标题的动态绑定,可以使用DataGrid的列定义和绑定功能。以下是一个示例,展示如何使用动态绑定设置DataGrid的列标题:在XAML中定义DataGrid控件,并为其定义列:在代码后台(如ViewModel或Code-behind)中,为DataGrid的ItemsSource属性设置绑定,并提供数据源:publicclassDataGridViewModel:INotifyPropertyChanged{publicObservableCollectionPersons{get;set;}=newO

WPF .Net6框架下, 使用 Microsoft.Xaml.Behaviors.Wpf 的Interaction.Triggers特性,实现ComboBox 在展开时,触发刷新列表内容的动作

概述ComboBox在WPF中是常见的控件。一般情况下,在绑定好数据源后,其内容是固定的。当然,你也可以实时刷新,但这将带来较高的资源消耗。因此有个折中的办法:只在它在展开时,自动更新列表内容。框架环境当前文章基于.Net6框架,其他框架不适用。步骤1:安装Nuget组件:Microsoft.Xaml.Behaviors.Wpf这个是用于平替winform某个组件的WPF版本。Nuget直接安装即可。步骤2:添加XAML开头xmlns:behaviour="http://schemas.microsoft.com/xaml/behaviors"引用你安装的组件。步骤3:编辑你ComboBox的

MVVM/WPF:解开和重新固定财产

注意:我不确定该怎么称呼这个问题,但这与解除/重新固定属性有关。我有一个用编码器控制电动机的arduino。我想创建一个接口以在读取其位置(使用编码器)时控制它。视图:我有一个文本框来显示电动机位置的数字读数(DRO)。它的文本属性与ViewModel的公共财产约束。我希望能够向Arduino发送理想的位置,同时也看到DRO。换句话说,文本框应该不断输出电动机的位置,但是一旦我开始输入一个值,就会将该值发送到Arduino(带有某种格式,因此Arduino知道该如何处理)。目前正在发生的事情是,我有一个接收到的事件处理程序的序列数据,并将电动机位置设置为绑定的属性,然后将其显示在文本框中。我需

【WPF】异步任务更新UI、绑定命令、绑定字符串属性

WPF异步任务主界面属性改变触发UI更新://打印的内容:文本框显示的内容publicstringPrintNumbers{get{returnprintNumbers;}set{printNumbers=value;RaisePropertyChanged();}}命令绑定:在视图模型中定义命令://绑定的命令publicICommandStartButtonCommand{get;set;}publicICommandAddTaskCommand{get;set;}publicICommandClearAllData{get;set;}在主界面xaml中绑定命令: 创建命令实例:Start