希望有一個簡單的問題,因爲我正在處理路由事件。停止處理路由事件的控制
我有一個自定義UserControl
。這包含許多其他控件。
進一步向上我的樹我想響應來自其中一個包含控件(不是我的UserControl
)的雙擊事件。但是,我的UserControl
顯然會吸引事件並將source
屬性設置爲自己。我怎樣才能阻止它這樣做?
我不能使用OriginalSource
,因爲這指向最低級別的控件點擊(Border
或其他)。
例如。
MyWindow <--- Want to handle double click here with Source = MyContainedControl1
|
+-MyUserControl (this is setting Source to itself. How do I turn this off?)
|
+-MyContainedControl1
|
Border <---- Mouse double clicks here
EditBox
Etc
我試圖重寫在MyUserControl
OnMouseDoubleClick()
和OnPreviewMouseDoubleClick()
,但在這一點上的事件已經有源甚至稱基地或任何之前設定爲MyUserControl
。
非常感謝
也許你可以編寫一個由MyContainedControl引發的自定義事件,當引發下層元素中的doubleclick事件時。 然後在你的MyWindow中,自定義元素的OriginalSource應該是MyContainedControl1。 – Klaus78
向MyUserControl添加一個將使用EventHandler作爲輸入的方法。讓該方法用MyContainedControl1-X註冊處理程序。 – Paparazzi