原创 dotnet 探究 SemanticKernel 的 planner 的原理

在使用 SemanticKernel 時,我着迷於 SemanticKernel 強大的 plan 能力,通過 plan 功能可以讓 AI 自動調度拼裝多個模塊實現複雜的功能。我特別好奇 SemanticKernel 裏的 planner

原创 dotnet core 3.1 將 UWP 控件嵌入到 WPF 應用 收到 UIA 消息主線程卡住

本文記錄一個問題,此問題是在 .NET Core 3.1 的 WPF 應用裏面,嵌入 UWP 控件之後,在收到 UIA 的消息時,可能讓主線程卡住。暫時此問題還不知道具體的復現步驟,此問題不確定是否真的和 WPF 或 UWP 相關,此問題可

原创 WPF 已知問題 RadioButton 指定 GroupName 後關閉窗口可能導致無法選中

本文記錄一個 WPF 已知問題,當 WPF 的 RadioButton 指定 GroupName 且將 IsChecked 狀態綁定到 ViewModel 上,將包含以上控件的代碼的窗口顯示兩個,接着關閉其中一個。此時可以看到依然開着的窗口

原创 dotnet 警惕 Assembly.Location 返回空

在大部分情況下,獲取當前所運行的應用程序的所在路徑時,常用的就是 Assembly.Location 屬性,按照之前的經驗,使用 Assembly.Location 是最爲穩定的做法,然而在 dotnet 發佈單文件時,此屬性將會爲空,導致

原创 WPF 筆跡算法 從點集轉筆跡輪廓

本文將告訴大家一些筆跡算法,從用戶輸入的點集,即鼠標軌跡點或觸摸軌跡點等,轉換爲一個可在界面繪製顯示筆跡畫面的基礎數學算法。儘管本文標記的是 WPF 的筆跡算法,然而實際上本文更側重基礎數學計算,理論上可以適用於任何能夠支持幾何繪製的 UI

原创 dotnet 8 WPF 支持在 RDP 遠程桌面狀態下啓用渲染硬件加速

本文將和大家介紹在 dotnet 8 裏 WPF 引入的新功能之一,在 RDP 遠程桌面狀態下啓用渲染硬件加速 在 dotnet 8 之前,在用戶進行 RDP 遠程桌面時 WPF 應用將默認關閉硬件渲染加速以獲得更好的兼容性。隨着系統層的渲

原创 dotnet 推薦 LightWorkFlowManager 輕量的工作過程管理庫

本文將和大家推薦我團隊開源的 LightWorkFlowManager 輕量的工作過程管理庫,適合任何需要執行工作過程的應用邏輯,可以方便將多個工作過程拼湊起來,且自動集成重試和失敗處理,以及日誌和上報功能 這個 LightWorkFlow

原创 UNO 的 SamplesApp.Skia.Gtk 丟失字體文件拋出空異常

在運行 UNO 的 SamplesApp.Skia.Gtk 例子程序時,如果沒有拷貝字體文件夾,導致字體丟失,將會在運行的時候拋出 NullReferenceException 空異常 拋出的異常堆棧大概如下 > Uno.UI.dll!Wi

原创 win10 uwp 簡單製作一個 Path 路徑繪製的圖標按鈕

本文告訴大家在 UWP 或 WinUI 3 裏面如何簡單製作一個由 Path 幾何路徑圖形繪製的圖標按鈕 先在資源裏面定義按鈕的樣式,重寫 Template 屬性,通過在 Template 裏面放入 Path 綁定 Data 到內容從而實現

原创 探索 WPF 的 ITabletManager.GetTabletCount 在 Win11 系統的底層實現

本文將和大家介紹專爲 WPF 觸摸模塊提供的 ITabletManager 的 GetTabletCount 方法在 Windows 11 系統的底層實現 本文屬於 WPF 觸摸相關係列博客,偏系統底層介紹,更多觸摸博客請看 WPF 觸摸相

原创 dotnet 推薦一個使用 Json 直接路由通訊的 IPC 庫

本文將和大家推薦一個我所在團隊開源的本機多進程通訊 IPC 庫,此 IPC 支持使用 JSON 格式進行直接路由通訊,具有使用方便,穩定性高,性能好的優點 這是我所在的團隊在 GitHub 上使用最友好的 MIT 協議完全開源的項目:htt

原创 WPF 已知問題 傳入錯誤數據給到 WriteableBitmap 可能導致渲染線程鎖住

本文記錄一個 WPF 已知問題,此問題已經被我修復。傳入錯誤的數據給到 WriteableBitmap 對象,比如調用 WritePixels 時傳入錯誤的 stride 數值,將可能導致渲染線程進入無限自旋鎖 問題描述 應用程序停止渲染,

原创 dotnet 使用增量源代碼生成技術的 Telescope 庫導出程序集類型

本文將告訴大家在 dotnet 裏面使用免費完全開源的基於增量源代碼生成技術的 Telescope 庫,進行收集導出項目程序集裏面指定類型。可以實現性能極高的指定類型收集,方便多模塊對接入自己的業務框架 此 Telescope 庫是基於最友

原创 dotnet 統信 UOS 運行 UNO FrameBuffer 應用錯誤 Failed to open FrameBuffer device

本文記錄在 UOS 統信系統上運行 UNO 的基於 Skia 的 FrameBuffer 應用報錯問題,錯誤提示是 Unhandled exception. System.InvalidOperationException: Failed

原创 dotnet 在 UOS 統信系統上運行 UNO 程序輸入時閃爍黑屏問題

本文記錄我在虛擬機內安裝了 UOS 統信系統,運行 UNO 的基於 Skia 的 Gtk 應用程序時,在輸入的過程中不斷窗口閃黑問題 本質上說這個問題和 UNO 毫無關係,這是一個 OpenGL 硬件加速在虛擬機裏運行的問題,問題現象如下