2010-10-29 60 views
2

我做了一個包含一個togglebutton的用戶控件。當用戶點擊它時,它會顯示一個全屏大小的彈出窗口。我想添加以下功能:當用戶按下硬件返回按鈕並且彈出窗口打開時,關閉彈出窗口。問題是隻有usercontrol的父頁面有backkeypress事件。我如何處理這是一個可重用控件的用戶控件? 我儘量避免處理頁面代碼中的按鈕按鈕,因此處理這種情況就像調用頁面的OnBackKeyPress事件處理程序中的usercontrol方法是我想要做的最後一件事情(頁面以編程方式生成)...WP7後退鍵處理子彈出

回答

4

控件需要以某種方式找到對頁面的引用 - 無論是在構造函數中,還是在UI樹上行走,直到找到PhoneApplicationPage。然後它可以訂閱the event本身,並在事件關閉時取消訂閱。

+0

謝謝!現在我有另一個問題:我找到了父頁面,但事件處理程序從未在我的用戶控件中調用:( parentPage = FindParentPage(this); if(parentPage!= null) { parentPage.BackKeyPress + = new EventHandler < System.ComponentModel.CancelEventArgs>(parentpage_BackKeyPress);} 我 – Vic 2010-10-29 13:15:00

+0

有投parentPage添加事件處理程序時,炫魅... – Vic 2010-10-29 13:33:42

+0

@Downvoter:護理評論 – 2010-11-02 22:31:36