
WPF
文章平均质量分 86
mingupup
热爱C#
展开
-
WPF Prism ViewInjection
ViewInjection是Prism框架提供的一种机制,用于将视图动态地注入到指定的容器(Region)中。这种注入方式允许你在运行时动态地添加、移除或替换视图,从而实现更灵活的用户界面设计。原创 2024-12-13 19:56:08 · 617 阅读 · 0 评论 -
C#调用Python脚本的方式(一),以PaddleOCR-GUI为例
每种语言都有每种语言的优势,Python由于其强大的生态,很多任务通过调用包就可以实现,那么学会从C#项目中调用Python脚本完成任务就很重要。C#调用Python代码有多种方式,如果Python那边内容比较多,可以考虑起一个Web Api进行调用,如果只是一个简单的脚本而且不需要频繁调用,那么可以考虑使用Process类创建一个进程来调用,如果有几个方法,并且需要进行数据交互,并可能会频繁调用,那么可以考虑使用pythonnet。原创 2024-12-13 19:54:30 · 1203 阅读 · 0 评论 -
VLM-OCR-Demo:一个使用VLM用于OCR任务的示例
上一篇文章TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面中我们构建了一个方便使用TesseractOCR的用户界面,今天构建一个类似的界面,使用Semantic Kernel接入视觉模型,测试一下用视觉模型做OCR任务的效果。在之前的文章使用Tesseract进行图片文字识别的总结中说了使用VLM做这个任务的缺点,经过测试之后,发现确实存在。原创 2024-12-09 12:02:59 · 559 阅读 · 0 评论 -
WPF Prism ViewDiscovery
在 WPF Prism 应用程序中,View Discovery 是一个用于发现和注册视图(View)的机制。它允许您将视图与特定的区域(Region)相关联,并在运行时自动将视图添加到该区域中。区域(Region):区域是 UI 中的一个逻辑部分,用于容纳视图。例如,主窗口的左侧面板可以是一个区域,右侧面板可以是另一个区域。视图(View):视图是用户界面的一个部分,通常实现为一个 UserControl 或一个自定义控件。视图发现(View Discovery)原创 2024-12-07 14:48:53 · 1294 阅读 · 0 评论 -
TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。本项目可以帮助人们更简单方便地使用TesseractOCR,对WPF/C#新手程序员,也可以当作一个简单的练手小项目。如果对你有所帮助,点颗star,就是最大的支持!!原创 2024-12-07 14:47:27 · 625 阅读 · 0 评论 -
WPF Prism 01-BootstrapperShell
Prism 是一个用于在 WPF、.NET MAUI、Uno 平台和 Xamarin Forms 中构建松耦合、可维护和可测试的 XAML 应用程序的框架。每个平台都有单独的发布版本,并且这些版本将在独立的开发时间线上进行开发。Prism 提供了一组设计模式的实现,这些模式有助于编写结构良好且可维护的 XAML 应用程序,包括 MVVM、依赖注入、命令、EventAggregator 等。原创 2024-12-06 11:32:48 · 993 阅读 · 0 评论 -
SimpleRAG-v1.0.3:增加文件对话功能
我上传这个文档之后,提问文档中的内容,如下所示:那么我们自己该如何实现这个功能呢?我们之前接触过RAG,那可以用来应对文档内容超出模型上下文的情况,但是很多时候,我们只是上传一份简单的文档,文档内容并不多,而且也不需要进行存储,那么这时候,就可以直接读文件内容,不用RAG。以下是自己实现的效果:也实现了同样的效果。原创 2024-10-09 12:01:00 · 361 阅读 · 0 评论 -
如何自己动手实现一个图片解答小助手
之前使用PaddleOCR的时候,我已经在电脑上安装了一个虚拟环境,因为需求比较简单,就是将图片进行文字识别之后返回文本就行了,因此今天玩个不一样的,不用.NET绑定,直接调用Python脚本就好了。这样可以用于拍照向AI提问的场景,我自己也有这方面的需求,因此动手实践了一下。现在就需要与大语言模型结合起来了,就是将识别出来的文字,丢给大语言模型。那么再拆解一下任务,我们需要在命令行中传入一个参数,该如何实现呢?获取到了Python脚本输出的值。现在图片文字识别的部分已经搞定了。原创 2024-10-09 11:59:29 · 1240 阅读 · 0 评论 -
SimpleAIAgent:使用免费的glm-4-flash即可开始构建简单的AI Agent应用
SimpleAIAgent是基于C# Semantic Kernel 与 WPF构建的一款AI Agent探索应用。主要用于使用国产大语言模型或开源大语言模型构建AI Agent应用的探索学习,希望能够帮助到感兴趣的朋友。接下来我想分享一下我的AI Agent应用实践。原创 2024-09-25 12:43:07 · 881 阅读 · 1 评论 -
SimpleAISearch:C# + DuckDuckGo 实现简单的AI搜索
最近AI搜索很火爆,有Perplexity、秘塔AI、MindSearch、Perplexica、memfree、khoj等等。在使用大语言模型的过程中,或许你也遇到了这种局限,就是无法获取网上最新的信息,导致回答的内容不是基于最新的信息,为了解决这个问题,可以通过LLM+搜索引擎的方式实现。以我之前开源的一个简单项目为例,如果直接问一般的大语言模型是不知道的,如下所示:对比可以联网的回答:PerplexitykhojKimi那么我们如何自己实现类似的效果呢?原创 2024-09-20 12:06:00 · 592 阅读 · 0 评论 -
SimpleTranslationAIAgent借助SiliconCloud API 构建自己的专属翻译助手
SimpleTranslationAIAgent是一款基于C#与LLM通过简单对话即可实现文件到文件的翻译任务的简单应用,基于WPF与Semantic Kernel构建。该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动有免费的模型可调了。这个Translation AI Agent只是一个简单的AI Agent示例应用,可能很多人都不需要它。原创 2024-08-31 14:01:41 · 1014 阅读 · 0 评论 -
SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent
当应用比较简单时,可能免费的模型就可以了,但是当应用比较复杂时,可能需要更强的模型才行了。开源出来主要是为了感兴趣的同学可以在看源码之后,也可以使用C#+LLM构建出更有意思更能提高自己工作效率的自己专属的AI Agent应用!该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动与智谱AI等都有免费的模型可调了。如果一个模型返回出错,可以重试,重试不行就可以换个模型试试了,越强的模型,成功的几率越高。原创 2024-08-31 14:00:53 · 1072 阅读 · 0 评论 -
在SimpleRAG中使用SiliconCloud快速测试Function Calling
函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调用好像并不好用,国产大模型几乎都不能使用,由于想解决这个问题,在GitHub上找到了一个大佬的方法。原创 2024-08-29 08:04:05 · 1992 阅读 · 0 评论 -
使用Ollama本地离线体验SimpleRAG(手把手教程)
Ollama是一个开源项目,专注于开发和部署大语言模型,特别是像LLaMA这样的模型,用于生成高质量的文本和进行复杂的自然语言处理任务。Ollama的目标是让大语言模型的运行和使用变得更加容易和普及,而无需复杂的基础设施或深度的机器学习知识。GitHub地址:https://github.com/ollama/ollamaSimpleRAG是基于WPF与Semantic Kernel实现的一个简单的RAG应用,可用于学习与理解如何使用Semantic Kernel构建一个简单的RAG应用。原创 2024-08-22 15:15:26 · 1356 阅读 · 0 评论 -
使用SiliconCloud快速体验SimpleRAG(手把手教程)
基于优秀的开源基础模型,提供高性价比的 GenAI 服务。不同于多数大模型云服务平台只提供自家大模型 API,上架了包括 Qwen、DeepSeek、GLM、Yi、Mistral、LLaMA 3、SDXL、InstantID 在内的多种开源大语言模型及图片生成模型,用户可自由切换适合不同应用场景的模型。更重要的是,SiliconCloud 提供开箱即用的大模型推理加速服务,为您的 GenAI 应用带来更高效的用户体验。对开发者来说,通过 SiliconCloud 即可一键接入顶级开源大模型。原创 2024-08-22 15:10:34 · 1432 阅读 · 0 评论 -
SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
SimpleRAG是基于WPF与Semantic Kernel实现的一个简单的RAG应用,可用于学习与理解如何使用Semantic Kernel构建RAG应用。GitHub地址:https://github.com/Ming-jiayou/SimpleRAG如果对您有所帮助,点个star✨,就是最大的支持😊。原创 2024-08-19 17:27:15 · 516 阅读 · 0 评论 -
SemanticKernel/C#:实现接口,接入本地嵌入模型
本文通过Codeblaze.SemanticKernel这个项目,学习如何实现ITextEmbeddingGenerationService接口,接入本地嵌入模型。项目地址:https://github.com/BLaZeKiLL/Codeblaze.SemanticKernel。原创 2024-08-06 09:55:25 · 1283 阅读 · 0 评论 -
ScreenToGif:一款开源免费且好用的录屏转Gif软件
GitHub上的介绍:此工具允许您记录屏幕的选定区域、来自网络摄像头的实时提要或来自草图板的实时绘图。之后,您可以编辑动画并将其保存为 gif、apng、视频、psd 或 png 图像。在平常写公众号的过程中,经常有录屏转Gif的需求,我就是使用ScreenToGif做的。在截止写这篇文章,该项目已经获得了23.1k starts!原创 2024-07-18 15:26:35 · 561 阅读 · 0 评论 -
WPF/C#:实现导航功能
在WPF中使用导航功能可以使用Frame控件,这是比较基础的一种方法。前几天分享了wpfui中NavigationView的基本用法,但是如果真正在项目中使用起来,基础的用法是无法满足的。今天通过wpfui中的mvvm例子来说明在wpfui中如何通过依赖注入与MVVM模式使用导航功能。实践起来,我个人觉得这个例子中实现导航功能还是有点麻烦的,但我也不知道怎么能更优雅,也是学到了一些东西吧。原创 2024-07-18 15:24:29 · 2424 阅读 · 0 评论 -
WPF/C#:在WPF中如何实现依赖注入
本文通过 WPF Gallery 这个项目学习依赖注入的相关概念与如何在WPF中进行依赖注入。依赖注入(Dependency Injection,简称DI)是一种设计模式,用于实现控制反转(Inversion of Control,简称IoC)原则。依赖注入的主要目的是将对象的创建和对象之间的依赖关系的管理从对象内部转移到外部容器或框架中,从而提高代码的可维护性、可测试性和灵活性。依赖注入的核心概念依赖:一个对象需要另一个对象来完成其工作,那么前者就依赖于后者。原创 2024-07-11 10:52:47 · 1289 阅读 · 0 评论 -
WPF在.NET9中的重大更新:Windows 11 主题
源代码在[WPF-Samples/Sample Applications/WPFGallery at main · microsoft/WPF-Samples (github.com)](https://github.com/microsoft/WPF-Samples/tree/main/Sample Applications/WPFGallery)WPF团队相信,更新WPF的样式以匹配 Windows 11 中使用的样式将帮助 WPF 开发人员创建更一致的 Windows 体验。希望WPF越来越好。原创 2024-07-02 12:06:14 · 1524 阅读 · 0 评论 -
WPF/C#:BusinessLayerValidation
本文介绍了在WPF/C#中如何实现业务层验证。原创 2024-06-27 10:51:21 · 1098 阅读 · 0 评论 -
WPF/C#:如何实现拖拉元素
本文介绍了在WPF/C#中如何实现拖拉元素。原创 2024-06-27 10:49:15 · 761 阅读 · 0 评论 -
WPF/C#:在DataGrid中显示选择框
本文介绍了WPF如何在DataGrid中添加一列选择框。原创 2024-06-21 11:31:12 · 1349 阅读 · 0 评论 -
WPF/C#:数据绑定到方法
本文介绍了WPF中如何数据绑定到方法。原创 2024-06-21 11:29:21 · 490 阅读 · 0 评论 -
wpfui:一个开源免费具有现代化设计趋势的WPF控件库
wpfui是一款开源免费(MIT协议)具有现代化设计趋势的WPF界面库。wpfui为wpf的界面开发提供了流畅的体验,提供了一个简单的方法,让使用WPF编写的应用程序跟上现代设计趋势。截止写这篇文章,该项目获得了6.7k starts。最近我也在使用wpfui,整体使用下来感觉非常不错,因此想写一篇文章介绍一下wpfui。原创 2024-06-19 13:11:04 · 6836 阅读 · 0 评论 -
WPF/C#:显示分组数据的两种方式
本文介绍自己在遇到WPF对数据进行分组显示的需求时,可以选择的两种方案。一种方案基于,另一种方案基于IGrouping。原创 2024-06-19 13:09:44 · 855 阅读 · 0 评论 -
LiveCharts2:简单灵活交互式且功能强大的.NET图表库
之前的文章中提到过ScottPlot、与oxyplot,这两个是比较常用的.NET图表库,今天介绍一款新的.NET图表库:LiveCharts2。LiveCharts2 是一个现代化的数据可视化库,用于创建动态和交互式图表,支持 .NET 平台。它是 LiveCharts 的进化版,旨在提供更高性能、更灵活和更易于使用的图表解决方案。LiveCharts2 支持多种图表类型,包括折线图、柱状图、饼图、散点图等,适用于各种数据展示需求。原创 2024-06-18 09:43:47 · 2929 阅读 · 0 评论 -
WPF/C#:更改界面的样式
现在来看看ResourceDictionary是什么?在WPF中,资源字典(ResourceDictionary)是一个非常重要的特性,它用于存储和管理可重用的资源,如样式、控件模板、颜色、字体等。通过使用ResourceDictionary,你可以在一个集中的位置定义这些资源,并在整个应用程序中重用它们,这有助于保持应用程序的一致性和减少代码的重复。资源字典是应用使用的 XAML 资源(如样式)的存储库。在 XAML 中定义资源,然后可以使用。原创 2024-06-17 16:56:34 · 1162 阅读 · 0 评论 -
WPF/C#:如何将数据分组显示
虽然CollectionViewSource本身不是一个静态类,但它提供了一个静态方法GetDefaultView,这个方法用于获取与特定数据源关联的默认视图。这里的Name指的是CollectionViewGroup 类的Name属性。,这个元素定义了分组头的数据模板。数据模板决定了分组头的具体显示方式。在WPF Samples中有一个关于Grouping的Demo。在XML和XPath的上下文中,@符号用于引用元素的属性。类描述使用属性名作为条件对项进行分组。获取定义每个级别的组的外观的。原创 2024-06-17 16:55:22 · 949 阅读 · 0 评论 -
WPF/C#:异常处理
在C#中,异常是在程序执行过程中发生的特殊情况,例如尝试除以零、访问不存在的文件、网络连接中断等。这些情况会中断程序的正常流程。当C#程序中发生这种特殊情况时,会创建一个异常对象并将其抛出。这个异常对象包含了关于异常的详细信息,如异常类型和异常发生时的程序状态。异常处理是一个重要的编程概念,它允许程序员在异常发生时采取适当的行动,而不是让程序崩溃。在C#中,我们使用try,catch和finally关键字来处理异常。x /= y;原创 2024-06-12 11:50:11 · 695 阅读 · 0 评论 -
WPF/C#:程序关闭的三种模式
是一个枚举类型,它定义了WPF应用程序的关闭方式。OnLastWindowClose:当最后一个窗口关闭或者调用System.Windows.Application.Shutdown方法时,应用程序会关闭。OnMainWindowClose:当主窗口关闭或者调用System.Windows.Application.Shutdown方法时,应用程序会关闭。OnExplicitShutdown:只有当调用System.Windows.Application.Shutdown方法时,应用程序才会关闭。原创 2024-06-12 11:49:31 · 1624 阅读 · 0 评论 -
SemanticKernel:添加插件
本文介绍了SemanticKernel如何使用插件。原创 2024-06-06 10:19:20 · 672 阅读 · 0 评论 -
WPF/C#:理解与实现WPF中的MVVM模式
本文介绍了WPF中的MVVM模式,希望对正在学习WPF中的MVVM模式的同学有所帮助。原创 2024-05-28 15:07:20 · 2353 阅读 · 0 评论 -
WPF/C#:如何显示具有层级关系的数据
在日常开发过程中,我们可能也会有显示层级数据的需求,本文通过一个简单的Demo,介绍了在WPF中通过**TreeView控件**与**HierarchicalDataTemplate层级数据模板**进行层级数据的显示。希望对正在学习WPF或者对WPF感兴趣的同学有所帮助。原创 2024-04-23 16:02:11 · 614 阅读 · 0 评论 -
WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中
本文通过一个小示例,跟大家介绍了如何在WPF上绘制矩形,并在其中添加文本,同时也介绍了ListBox的使用,通过数据绑定与数据模板显示我们选中的单元格内的文本信息。希望对与我一样正在学习WPF或者对WPF感兴趣的同学有所帮助。原创 2024-04-20 16:22:07 · 1093 阅读 · 0 评论 -
WPF基础:在Canvas上绘制图形
本文介绍了在WPF中如何在Canvas上绘制图形。原创 2024-04-16 11:19:03 · 2719 阅读 · 0 评论 -
WPF中动画教程(DoubleAnimation的基本使用)
本文介绍了DoubleAnimation,DoubleAnimation 是 WPF 中的一个类,它用于创建从一个 double 值到另一个 double 值的动画。原创 2024-04-03 17:01:45 · 1893 阅读 · 0 评论 -
WPF动画教程(PointAnimationUsingPath的使用)
通过本示例,我们接触了PointAnimationUsingPath类、PathGeometry类和Storyboard类,并使用了它们的一些属性与方法,以后如果遇到沿着特定路径的动画的需求,可以尝试使用这种方法,希望对你有所帮助。原创 2024-04-03 17:00:02 · 914 阅读 · 0 评论 -
WPF中如何使用HandyCotrol控件库
本文介绍了在WPF中如何使用HandyControl控件库。原创 2024-02-27 10:48:16 · 3170 阅读 · 0 评论