2016-05-16 83 views
1

我想創建一個自定義的InkCanvas裝飾器,發現背後的邏輯:WPF InkCanvas繼承

可以重新使用InkCanvasEditingMode.Select模式的現有套索功能。然後,在SelectionChanged事件中,您可以獲取對所選筆觸(和/或元素)的引用。現在清除選擇(擺脫標準裝飾),然後調出您的定製裝飾。

如何在我自己的類中繼承InkCanvas類的編輯模式並訪問Events?

class myInkCanvasClass : InkCanvas ? 
{ 
    base class constructor call ? 
    ... 

} 

回答

0

我設法繼承InkCanvas類我CustomInkCanvas類和獲得的SelectionChanged的事件監聽:

​​

所以,如果我改變我的選擇得到注意。

0

你不應該繼承InkCanvasSelectionChangedInkCanvas一個公共事件,因此您可以處理程序只是添加到它。此外,EditingMode也是一個公共財產,您可以在InkCanvas的實例上進行設置。因此,要將處理程序添加到SelectionChanged並在InkSelect之間切換EditingMode,您可以使用InkCanvas實例的公共API。

基本例如:

inkCanvas.SelectionChanged += InkCanvas_SelectionChanged; 
inkCanvas.EditingMode = InkCanvasEditingMode.Select; 
+0

我想在SelectionChanged事件觸發時刪除原始InkCanvas - Select - Adorner並將其替換爲自定義Adorner。所以我認爲,我必須繼承InkCanvas類並在SelectionChanged事件上調用自定義Adorner。我會如何做到這一點? –