模式比對 (patterns matching) 也是近幾版 C# 的發展重點方向之一,在 C# 11 的瘋狂程度比較趨緩,帶來一個比較容易理解的概念 List Patterns
C# 11 新功能 -- 字串
近幾次來的 C# 改版都在字串出了很多新花樣,C# 11 也來了這麼幾個,這篇簡單來看一下這幾個新功能的介紹。
WPF 多國語系 -- 使用 CSV 檔案 續集
- 305
- 0
- 2022-08-08
前篇 WPF 多國語系 -- 使用 CSV 檔案 之後,有個朋友提了一個進階的問題:「這樣的方式如何應用在 ComboBox 搭配 ObjectDataProvider + Enum 型別?」。我認真想了一下,還是有解的,只是手續多了點。
WPF 多國語系 -- 使用 CSV 檔案
- 380
- 0
WPF 多國語系有很多種作法,這一篇來介紹如何使用 CSV 檔案來作為多國語系來源
在 WPF 中使用 Window Forms 繪圖
- 650
- 0
- 2022-01-27
WPF 中可以嵌入 Windows Forms 的控制項,理所當然也會有使用 Windows Forms 繪圖 API 的需求,這一篇要談的是在 MVVM Pattern 的狀況下,如何達成這樣的需求。
C# 10 新功能 -- Lambda
C# 10 此次的更新關於 Lambda expression 也帶來了一些新的功能,包含了委派型別推斷、顯式宣告回傳型別與 Attributes 的掛載。
C# 10 新功能 -- 命名空間
C# 10 這一次對於命名空間有一些新加入的功能,這一篇來說明一下用法。
C# 10 新功能 -- 結構
自 C# 7 以來,結構一直都有一些新的延伸,C# 10 也沒有缺席。
C# 10 新功能 -- 字串
C# 10 來了,首先要介紹的是關於字串的新改變。
使用 NDepend 觀察程式碼的依賴與流向
- 749
- 0
這篇介紹一下如何使用 NDepend 觀察前一篇文章的程式碼呼叫流向
續創造一個訊息迴圈 -- Proxy Pattern
- 332
- 0
- 2021-11-16
前一篇我們簡單做出了一個訊息迴圈的函式庫,但應用上因為呼叫的方式必須要傳入一些額外的參數,難免讓人覺得美中不足。這次我們改用 Proxy Pattern 來實作看看。
創造一個訊息迴圈
- 438
- 0
- 2021-11-11
前陣子有個朋友問了我一個有趣的問題,他們想要做一個獨立於 UI 執行緒外的永不停止執行緒,這個執行緒等待接收外部的訊號並呼叫對應的 API 執行;用個名詞來說就是一個獨立的訊息迴圈,我大概想了幾個做法,今天就來聊聊其中一個想法的實踐。
[WPF] 實作手寫辨識
- 624
- 0
- 2021-10-14
這一篇介紹 WPF 上的手寫辨識實作,為了符合大家開發的習慣,範例會採用 MVVM 的方式完成。
[WPF] 製作進度環 (3) 完成控制項
- 1016
- 0
幾何繪圖的部分差不多理解後,這一篇就要來完成整個控制項的設計。
[WPF] 製作進度環 (2) 極座標與 StrokeThickness
- 1026
- 0
前一篇簡單的利用了既有的固定座標繪製弧形,以進度環的觀點來看,基本上應該是以夾角的角度來計算才對,這會應用到數學上的直角座標與極座標轉換。
[WPF] 製作進度環 (1) 基本弧形繪圖
- 940
- 0
- 2021-09-22
自訂控制項樂趣多,這一回要來手工製作一個進度環。
[WPF] Darg and Drop (3)
- 262
- 0
前一篇做了一個可以支援 Drag and Drop 的 Canvas,但方便性還是不夠,稍微來改進一下,製作一個泛用性更廣的類別吧。
[WPF] Darg and Drop (2)
- 233
- 0
上一篇介紹了使用事件為主的 Drag and Drop 做法,有了基本的知識後,這一篇要利用附加屬性來製作一個 Drag and Drop Canvas。
[WPF] Darg and Drop (1)
- 947
- 0
- 2021-09-04
很久沒寫文章了,這幾篇就來談談 WPF 中 Drag and Drop 的實作吧。
[WPF] 解決在 Trigger 中無法使用 TemplateBinding 的方式
- 1409
- 0
習慣寫 ControlTemplate 的朋友應該都滿習於使用 TemplateBinding,但是 TemplateBinding 有某些限制導致無法使用在 Trigger 中,本篇用個簡單的範例來說明如何解決類似的問題。