2012-08-08 90 views
1

在我的應用程序中,我在頁面中使用了一個彈出窗口。當我按回鍵時,如果打開並保留在頁面上,我需要關閉彈出窗口。當我按下後退鍵時,彈出窗口未關閉,頁面轉到上一個窗口。要關閉彈出現在我用下面的代碼在back key press event.在Windows phone中關閉backkey的打開彈出窗口

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
{ 
    if (myPopup.IsOpen) 
     myPopup.IsOpen = false; 

    else if (NavigationService.CanGoBack) 
     NavigationService.GoBack(); 
} 

使用此代碼時,彈出將關閉,但也進入到前一頁。只有彈出處於關閉狀態時,我才需要返回。我怎樣才能做到這一點?

回答

0

問題解決。

而不是使用

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
{ 
} 

的我所使用的頁面

private void PhoneApplicationPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    if (myPopup.IsOpen) 
     myPopup.IsOpen = false; 

    else if (NavigationService.CanGoBack) 
     NavigationService.GoBack(); 
} 
1

你也可以做以下的back key press event

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 
{ 
    if (myPopup.IsOpen) 
    { 
    myPopup.IsOpen = false; 
    e.Cancel = true; 
    } 
}