WPF 中可以嵌入 Windows Forms 的控制項,理所當然也會有使用 Windows Forms 繪圖 API 的需求,這一篇要談的是在 MVVM Pattern 的狀況下,如何達成這樣的需求。
在 WPF 中使用 Window Forms 繪圖
- 224
- 0
- 2022-01-27
WPF 中可以嵌入 Windows Forms 的控制項,理所當然也會有使用 Windows Forms 繪圖 API 的需求,這一篇要談的是在 MVVM Pattern 的狀況下,如何達成這樣的需求。
C# 10 此次的更新關於 Lambda expression 也帶來了一些新的功能,包含了委派型別推斷、顯式宣告回傳型別與 Attributes 的掛載。
C# 10 這一次對於命名空間有一些新加入的功能,這一篇來說明一下用法。
自 C# 7 以來,結構一直都有一些新的延伸,C# 10 也沒有缺席。
C# 10 來了,首先要介紹的是關於字串的新改變。
這篇介紹一下如何使用 NDepend 觀察前一篇文章的程式碼呼叫流向
前一篇我們簡單做出了一個訊息迴圈的函式庫,但應用上因為呼叫的方式必須要傳入一些額外的參數,難免讓人覺得美中不足。這次我們改用 Proxy Pattern 來實作看看。
前陣子有個朋友問了我一個有趣的問題,他們想要做一個獨立於 UI 執行緒外的永不停止執行緒,這個執行緒等待接收外部的訊號並呼叫對應的 API 執行;用個名詞來說就是一個獨立的訊息迴圈,我大概想了幾個做法,今天就來聊聊其中一個想法的實踐。
這一篇介紹 WPF 上的手寫辨識實作,為了符合大家開發的習慣,範例會採用 MVVM 的方式完成。
幾何繪圖的部分差不多理解後,這一篇就要來完成整個控制項的設計。
前一篇簡單的利用了既有的固定座標繪製弧形,以進度環的觀點來看,基本上應該是以夾角的角度來計算才對,這會應用到數學上的直角座標與極座標轉換。
自訂控制項樂趣多,這一回要來手工製作一個進度環。
前一篇做了一個可以支援 Drag and Drop 的 Canvas,但方便性還是不夠,稍微來改進一下,製作一個泛用性更廣的類別吧。
上一篇介紹了使用事件為主的 Drag and Drop 做法,有了基本的知識後,這一篇要利用附加屬性來製作一個 Drag and Drop Canvas。
很久沒寫文章了,這幾篇就來談談 WPF 中 Drag and Drop 的實作吧。
習慣寫 ControlTemplate 的朋友應該都滿習於使用 TemplateBinding,但是 TemplateBinding 有某些限制導致無法使用在 Trigger 中,本篇用個簡單的範例來說明如何解決類似的問題。
這是一些由 Microsoft Learn 上提供給 C# 初學者的課程目錄整理,初學者可以多多利用。
GetEnumerator 在 C# 9 開始,能以擴充方法的形式存在。
繼續說明 not patterns 和 simple type patterns。
再來也是個挺刺激的話題,pattern matching 在 C# 9.0 的增強。