有時候會需要採用比較靈活的功能選單,希望能靠著資料繫結來完成,比較普遍的做法就是採用階層式資料繫結,讓我們一步步來完成這個需求。
WPF MenuItem 小傳 (2) -- 資料繫結
- 64
- 0
有時候會需要採用比較靈活的功能選單,希望能靠著資料繫結來完成,比較普遍的做法就是採用階層式資料繫結,讓我們一步步來完成這個需求。
這個系列是為了記錄自訂 Menu 和 ContextMenu 的文章,因為總是有人嫌原來的 MenuItem 樣式不好看,又因為這件事情有一些小細節需要注意,所以寫下這系列文章免得自己忘記。
前陣子遇到一個對齊上的麻煩,這個麻煩的點在於需要在渲染前取得所有 TextBlock 中最長的那一個當作所有 TextBlock 的寬度,類似 DataGrid 中 SizeToCell 那種效果。問題來了,渲染後的 ActualWidth 才有意義,如果要依賴 ActualWidth 的變更好像有點太麻煩了;所幸可以利用 FormattedText 事前計算,讓我們來看看這怎麼做。
根據上一篇 [LiveCharts2] ChartEntityMetaData 的敘述來改善之前 [LiveCharts2] 資料對應 -- IChartEntity interface 中的寫法。
追追追,找出 ChartEntityMetaData 到底在幹甚麼。
這篇記錄一下在 WPF 專案裡常用的 System.Windows.Interactivity 改用新的 package 替代的一些注意事項。
除了使用 Mapping property,LiveChart 提供了另一種資料對應的方式 – 透過實作 IChartEntity interface。
接下來要談到的是使用 Series<TModel, TVisual, TLabel, TDrawingContext>.Mapping 屬性來做資料對應。
這一篇要介紹構成圖表的三個要素:座標系(Chart Control)、座標軸(Axes)和點序列(Series)。
LiveCharts 是一套基於 SkiaSharp 的免費開源圖表套件,早期的版本提供給 UWP、Window Forms 以及 WPF 使用。這邊要介紹的是 v2 版,目前尚在 beta 階段。
這是一種有趣的需求,設定一個小小觀景窗,在觀景窗後方的物件只能透過觀景窗才能看到。
寫 WPF 的朋友們應該都知道 Visual Studio 本身帶有一個「即時視覺化樹狀結構」 的分析工具,這個分析工具其實已經很好用了。但是有一個第三方的工具也不賴,就是本文要介紹的 Snoop。
把傳統 WPF 專案檔遷移到新式的 SDK-style 專案檔很容易,但我遇到了一個問題。
前篇 WPF 多國語系 -- 使用 CSV 檔案 之後,有個朋友提了一個進階的問題:「這樣的方式如何應用在 ComboBox 搭配 ObjectDataProvider + Enum 型別?」。我認真想了一下,還是有解的,只是手續多了點。
WPF 多國語系有很多種作法,這一篇來介紹如何使用 CSV 檔案來作為多國語系來源
WPF 中可以嵌入 Windows Forms 的控制項,理所當然也會有使用 Windows Forms 繪圖 API 的需求,這一篇要談的是在 MVVM Pattern 的狀況下,如何達成這樣的需求。
這一篇介紹 WPF 上的手寫辨識實作,為了符合大家開發的習慣,範例會採用 MVVM 的方式完成。
幾何繪圖的部分差不多理解後,這一篇就要來完成整個控制項的設計。
前一篇簡單的利用了既有的固定座標繪製弧形,以進度環的觀點來看,基本上應該是以夾角的角度來計算才對,這會應用到數學上的直角座標與極座標轉換。
自訂控制項樂趣多,這一回要來手工製作一個進度環。