「WPF」標籤的文章
帶有「WPF」標籤的文章共 18 篇,依發布日期由新到舊排列。
-
Windows 應用程式的深色模式與對比佈景主題支援 ── DWM 的深色標題列、WinForms/WPF 跟隨系統佈景主題、高對比時的繪製
說明如何讓 WinForms/WPF 應用程式跟隨 Windows 11 的深色模式與對比佈景主題。整理 DWM 的深色標題列、.NET 9/10 的 SetColorMode 與 ThemeMode、佈景主題切換的偵測,以及高對比時以系統色彩繪製的做法。
-
Windows 列印驅動程式停止提供 ── 業務應用程式的報表與標籤列印如何因應
Microsoft 正分階段推動 v3/v4 列印驅動程式的停止提供,從 2026 年 7 月起會優先選用 IPP 類別驅動程式。本文整理 Windows protected print mode 之下會消失哪些東西,並以判斷表梳理業務應用程式的報表、標籤列印中相依處的盤點與因應方式。
-
「沒有回應」的真面目 ── Windows 如何判定應用程式卡住,以及不卡住的設計
Windows 的「沒有回應」,是視窗 5 秒沒有取出訊息時由作業系統判定、並換成幽靈視窗的機制。本文從判定的內部運作,講到卡住的經典原因、把重工作移出 UI 執行緒的設計,以及無回應的調查程序。
-
剪貼簿與拖放的運作方式 ── 在業務應用程式中正確處理 OLE 資料傳輸
貼上 Excel 表格就散掉、關掉複製來源就貼不上──真正的原因,是剪貼簿把同一份內容以多種格式同時放上。本文從標準格式、延遲轉譯、OLE 拖放,一路談到剪貼簿歷程與雲端同步的原則。
-
Windows 應用程式無障礙入門 ── 以 UI Automation 因應合理調整的義務化
以 2024 年 4 月施行的日本消除對身心障礙者歧視法修正為背景,本文以螢幕閱讀器讀取 Windows 應用程式的機制 UI Automation 為主軸,從實務角度整理 WinForms/WPF 的命名、鍵盤操作、對比與驗證工具。
-
WinForms / WPF 應用程式的 CI/CD 實務 ── 用 GitHub Actions 把從建置到簽章・發布全部自動化
本文整理用 GitHub Actions 為 WinForms / WPF 應用程式建置 CI/CD 的實務指南,內容涵蓋在 windows-latest 上進行建置+測試的最小 YAML、以標籤驅動的版本編號、透過 signtool 整合簽章,以及依 MSI/MSIX/ClickOnce/xcopy 分類的 C...
-
Windows 應用程式的工作列通知區常駐與 Toast 通知 —— NotifyIcon 的陷阱與 AppNotification 的選型
本文整理將業務用 Windows 應用程式常駐於工作列通知區,並透過 Toast 通知告知使用者的實作要點。內容涵蓋 NotifyIcon 的正確用法與「關閉後仍留在通知區」的設計、檔案總管重新啟動時的重新註冊、三種 Toast API(Windows App SDK AppNotification / Comm...
-
WinForms/WPF 應用程式的多語言化 ── resx、附屬組件與文化特性切換的實務
本文從實務角度整理 Windows 桌面應用程式的多語言化,包括 CurrentCulture 與 CurrentUICulture 的差異、resx 與附屬組件(Satellite Assembly)所構成的資源機制、WinForms 的 Localizable 屬性、WPF 現實可行的方式選擇、執行時的語言切...
-
Windows 業務應用程式的列印與 PDF 輸出 ── System.Drawing.Printing / WPF / 報表函式庫的取捨
本文以要件別判斷表整理 PrintDocument 的 WinForms 列印、WPF 的 FlowDocument/FixedDocument 列印,以及 PDF 輸出的各種選項。並從實務角度說明分頁控制、DPI 落差等實作陷阱,以及從 Windows 服務列印、依賴預設印表機的風險。
-
在 WinForms/WPF 應用程式中導入 Entra ID 驗證 ── MSAL.NET 與 WAM 代理的實務架構
從實務角度整理在 WinForms/WPF 桌面應用程式中導入 Entra ID(原 Azure AD)驗證的做法。內容涵蓋公用客戶端的概念、ROPC 廢除現況、應用程式註冊、MSAL.NET 的 AcquireTokenSilent 模式、WAM 代理、權杖快取持久化,以及導入判斷與維運上的陷阱。
-
Windows 桌面應用程式的 UI 自動測試 ── UI Automation 的原理與用 FlaUI 打造不易損壞的測試
本文從 Windows UI Automation 的原理(樹狀結構、AutomationId、控制項模式)整理 WinForms/WPF 應用程式的 UI 自動測試。內容涵蓋以 FlaUI 實作的最小範例、WinAppDriver 的現況、透過 AutomationId 設計與條件等待讓測試不易損壞的方法,以及...
-
WPF 高 DPI 對應──「不是應該對 DPI 很強嗎」卻仍模糊、暈邊的原因與對策
WPF 以 DIP(1/96 英吋)進行版面配置,一開始就是 System DPI Aware,但移到 DPI 不同的螢幕時整體會暈邊,點陣圖與細線也會模糊。本文從實務角度整理原因判斷、.NET Framework 4.6.2/.NET 上的 Per-Monitor DPI 對應宣告方式、UseLayoutRou...
-
IE 模式之後改用 WebView2 就好嗎 ── ActiveX 無法運作的限制與現實的遷移設計
本文從內部系統的角度,整理 WebView2 的基本結構、Evergreen 與 Fixed Version 兩種配布策略、使用者資料資料夾的陷阱、原生與 Web 的連結方式,並在「ActiveX 無法運作」這一限制的前提下,梳理出脫離 IE 模式依賴系統的現實遷移順序。
-
委外・委託開發 Windows 應用程式前該整理的事項
在委外・委託開發 Windows 應用程式之前,整理既有軟體改版、設備整合、COM/ActiveX、發布與更新、維護等應留意的重點。
-
WinForms/WPF/WinUI 的選法 - 實務判斷表
從新專案開發、既有資產、散發、UI 表現、團隊體制這幾個觀點,梳理 WinForms、WPF、WinUI 到底該選哪一個。
-
.NET 三種計時器的區分使用 - PeriodicTimer/Timer/DispatcherTimer
梳理 PeriodicTimer / System.Threading.Timer / DispatcherTimer 的差異,以及在 async 處理、ThreadPool callback、WPF 的 UI 更新中該如何區分使用。
-
在桌面應用程式使用 .NET Generic Host 與 BackgroundService 的理由
為了在 Windows 工具與常駐型應用程式中梳理啟動、定期處理、終止處理、日誌、設定與 DI,本文整理 Generic Host 與 BackgroundService 該怎麼用。
-
以一頁整理 WPF / WinForms 的 async 與 UI 執行緒
本文梳理 WPF / WinForms 中 await 之後的回歸處、Dispatcher / Invoke、ConfigureAwait(false),以及 .Result / .Wait() 的常見卡關處。