繼續聊WPF 數字墨跡B

2021-09-08 23:44:06 字數 980 閱讀 5273

前面的內容,我們用簡單的方法就建立了乙個手寫板示例,下面,我們再來做乙個更為複雜一點的手寫板程式。示例程式有兩個選項:選擇「書寫」可以進行手寫輸入,選擇「擦除」,可以去掉不必要的部分,類似橡皮擦的功能。

並且,還可以選擇筆觸顏色。

首先就是放乙個inkcanvas控制項,相信都沒問題,很簡單。

.........

接著定義兩個類,分別用來儲存筆尖顏色的自定義類和集合。

public class mycolor public solidcolorbrush usercolor } public class mycolors : observablecollection); add(new mycolor ); add(new mycolor ); } }

切換到xaml檢視,把mycolors作為靜態資源嵌入到窗體的資源列表中。

並定義乙個資料模板,用於在listbox中顯示的項。

宣告兩個radiobutton元素,用於選擇手寫輸入狀態。以及乙個listbox控制項,資料來源就是我們剛才定義的mycolors類。

為了能讓listbox中的項水平排列,我們要自定義項的面板。

為兩個單選按鈕編寫事件處理程式。

private void rdwrite_checked(object sender, routedeventargs e) private void rdera_checked(object sender, routedeventargs e)

修改inkcanvas的editingmode屬性,可以控制其編輯狀態,如接收墨跡,或擦除墨跡。

最後,編寫listbox的事件處理程式,以動態修改筆觸的顏色。

private void mylistbox_selectionchanged(object sender, selectionchangedeventargs e) mycolor mc = e.addeditems[0] as mycolor; if (mc != null) }

繼續聊WPF 數字墨跡A

今天晚上,我為大家準備了一項很好玩的東西,相信大家以前在使用ms office的也時候也用過手寫輸入,或者用畫圖軟體,應該對手寫感知不陌生了,尤其是手機,很多機子都有觸屏手寫功能。在以前,要實現手繪功能是很痛苦的,但是,告訴你乙個好訊息,在wpf裡面,你會非常輕鬆就能實現這功能,信不信由你,反正我信...

繼續聊WPF 進度條

progressbar控制項與傳統winform使用方法完全一樣,我們只需關注 minimum 最小值,預設為0 maximum 最大值,預設為100.value 當前值。關鍵是它的控制項模板,因為系統的預設主題不好看,很多時候我們是需要自定義樣式和模板。老方法,先看定義 templateparta...

繼續聊WPF 動態資料模板

我為啥稱之為 動態資料模板 先看看下面的截圖,今天,我們就是要實現這種功能。大概是這樣的,我們定義的datatemplate是通過觸發器動態應用到 comboboxitem 上。這個下拉列表控制項繫結了乙個person集合,person類的定義如下 public class person publi...