随笔分类 - WPF开发
摘要:源码地址:https://github.com/iNKORE-Public/UI.WPF.Modern 官方文档:https://docs.inkore.net/en-us/ui-wpf-modern/onboarding/ 目前官方的文档不是很齐全,貌似有不少的控件的内容还是空的,还在补充中。 开
阅读全文
摘要:安装 Install-Package OpenNLP Install-Package System.Runtime.Caching 示例代码 using OpenNLP.Tools.SentenceDetect; var paragraph = @"To test easily the variou
阅读全文
摘要:安装 Install-Package ZoneTree 简单示例 using var zoneTree = new ZoneTreeFactory<int, string>() .OpenOrCreate(); zoneTree.Upsert(39, "Hello Zone Tree"); 配置示例
阅读全文
摘要:简介 Akavache是一个异步的、持久的(即写入磁盘)键值存储,用于在C#中编写桌面和移动应用程序。它基于SQLite3,非常适合存储重要数据(即用户设置)以及过期的缓存本地数据。 https://github.com/reactiveui/akavache 安装 Install-Package
阅读全文
摘要:安装 WPF: Install-Package ScottPlot.WPF Avalonia: Install-Package ScottPlot.Avalonia 相关网站 https://github.com/ScottPlot/ScottPlot https://scottplot.net/
阅读全文
摘要:相当于处理一下AutoGeneratedColumns的事件,设置一下最小值和最大值 dataGrid.AutoGeneratedColumns += (s, e) => { foreach (var column in dataGrid.Columns) { column.MinWidth = 8
阅读全文
摘要:在App.xaml.cs文件的OnStartup方法中增加下面一行代码: LiveCharts.Configure(config => config.HasGlobalSKTypeface(SKFontManager.Default.MatchCharacter('汉'))); 效果如下: prot
阅读全文
摘要:目前我的VS版本是 17.8.5: 印象中上一个小版本的时候就已经出现这个问题了。 自己的应用,点击调试的时候,高概率出现下面的对话框: 但又不是每次都会出现。 程序没有设置任何的断点。 多个程序都会出现。 目前不知道啥原因引起。 现状 目前更新到17.9.0,这个问题貌似已经没有出现了。
阅读全文
摘要:安装Nuget包 Install-Package Tesseract 下载训练好的数据 下载地址:https://github.com/tesseract-ocr/tessdata/ 简体中文下载:chi_sim.traineddata 创建tessdata文件夹 把前面下载好的chi_sim.tr
阅读全文
摘要:安装Nuget包: Install-Package Markdig.Wpf 在XAML代码中添加引用: xmlns:markdig="clr-namespace:Markdig.Wpf;assembly=Markdig.Wpf" 然后使用MarkdownViewer控件,并把控件的Markdown属
阅读全文
摘要:可以通过设置Paragraph的LineHeight属性来达到设置行间距的效果。 private void UpdateTranslate(RichTextBox tbx, IEnumerable<BaiduTranslateInfo> items) { tbx.Document.Blocks.Cl
阅读全文
摘要:一些快捷键的操作,可以极大地方便了应用的操作。 目前我经常用的一些快捷键: 1、ESC:关闭窗体 2、Ctrl+N:新建 3、F2:编辑 3、Delete:删除 4、F5:刷新 5、Ctrl+S:保存 有些快捷键,适合针对窗体直接设置。 <Window.InputBindings> <KeyBind
阅读全文
摘要:如果界面上只有一个要执行的命令时,可以直接把某个Button的IsDefault设置为True就可以。 如果界面上有多个不同的执行命令的话,可以用下面的InputBindings,不同的输入框绑定不同的Command即可。 <TextBox Text="{Binding ProgressName,U
阅读全文
摘要:现在基本上每一个项目都会使用PropertyChanged.Fody,用了以后,代码确实简洁清爽了很多。 安装 Install-Package PropertyChanged.Fody 继承INotifyPropertyChanged接口 安装了PropertyChanged.Fody以后,默认会为
阅读全文
摘要:前面的开发一般我会使用PropertyChanged.Fody,但ReactiveUI.Fody也能实现类似的功能。 安装Nuget包 Install-Package ReactiveUI.Fody FodyWeavers.xml文件: <Weavers xmlns:xsi="http://www.
阅读全文
摘要:安装Nuget包 Install-Package Hardcodet.NotifyIcon.Wpf App.xaml添加: <Application x:Class="ToDoList.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/
阅读全文
摘要:一个用.NET 6开发的WPF应用,前面编译执行都正常。 同事要出差,把代码拷贝到开发本上编译时,编译报错。编译报错的内容主要如标题所示: 所使用的 PresentationFramework 6.0.2 高于所引用的标识为 PresentationFramework 6.0.0 程序集 Prese
阅读全文
摘要:文件比较平常都是用Beyond Compare,可以说离不开的神器,特别是针对代码比较这块,确实挺好用的。 不过Beyond Compare平常拿它主要是用来做代码比较,用来做一些大批量的二进制文件比较,其实有点不是很方便。 于是造轮子,重新写了一个简单的文件夹比较的小工具。 平常主要是拿来做一些N
阅读全文
摘要:实现目标: 左右两个DataGrid对比显示,希望拖动一个列表的滚动条,就把别一个列表的滚动条移动到相应位置。 主要思路是: 通过FindVisualChildren找到两个DataGrid的ScrollViewer控件,然后注册两个控件的ScrollChanged事件,只要有一个ScrollVie
阅读全文
摘要:模板样式定义: <TabControl ItemsSource="{Binding Items}"> <TabControl.ContentTemplate> <DataTemplate> <ListBox BorderThickness="0" ItemsSource="{Binding Item
阅读全文