事情是,我有2個用戶控件,可以稱它們爲A和B.它們都有MouseRightButtonDown和MouseRightButtonUp事件和usercontrol A有重疊B.現在,當我用鼠標右鍵單擊A時, B上的鼠標事件不會觸發。當我禁用usercontrol A上的mouseevents時,usercontrol B上的mouseevents被觸發。在兩個用戶控件上觸發鼠標事件
但我怎樣才能讓他們兩個同時開火?
(希望我已經解釋清楚的話)
事情是,我有2個用戶控件,可以稱它們爲A和B.它們都有MouseRightButtonDown和MouseRightButtonUp事件和usercontrol A有重疊B.現在,當我用鼠標右鍵單擊A時, B上的鼠標事件不會觸發。當我禁用usercontrol A上的mouseevents時,usercontrol B上的mouseevents被觸發。在兩個用戶控件上觸發鼠標事件
但我怎樣才能讓他們兩個同時開火?
(希望我已經解釋清楚的話)
有點哈克,但這會工作,事件處理只結合控制1,並調用其他事件處理程序是這樣的:
private void textBlock1_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("textBlock1_MouseRightButtonDown");
textBlock2_MouseRightButtonDown(sender, e);
}
private void textBlock2_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("textBlock2_MouseRightButtonDown");
}
我個人不會這樣做,我會盡我所能重新設計邏輯,而不必從兩個控件中的一個調用其他處理程序,但不知道更多你在做什麼,不可能告訴...
當我們在這裏談論Silverlight時,我強烈地gly建議看看如何工作Routed Events,這是一種實際上可以幫助您避免重新啓動事件的機制,因爲這些是從上到下遍歷元素的可視樹的事件。
肯定會再重新啓動事件。
你能顯示代碼嗎? –