2012-01-04 43 views
0

我正在使用Silverlight導航樣式應用程序。Silverlight,Child Windows和Back按鈕

有沒有辦法讓瀏覽器的後退按鈕關閉一個ChildWindow而不是返回一個頁面?
現在,Back按鈕返回,同時保持ChildWindow打開狀態。

編輯

這就是我想我的背疊的樣子:

  • 編輯標題(ChildWindow)
  • 查看,記錄(頁)
  • 首頁(頁)
+0

不知道了很多關於你的應用程序,我不能提出任何具體的,但你需要勾ChildWindow的顯示在某種程度上導航 - 這是不是真的它是如何工作的。 – ChrisF 2012-01-04 22:36:47

+0

我沒有做任何特別的事情。它只是導航項目模板,幾頁和一個ChildWindow控件。 – 2012-01-04 23:13:25

+0

認爲此鏈接可以幫助您:[使用確認對話框阻止Silverlight的瀏覽器後退按鈕](http://mrpanot.wordpress.com/2010/05/19/prevent-browser-back-button-for-silverlight-with-確認-對話框/)。 – 2012-01-05 00:20:38

回答

1

我最終做的是取消導航和n將舊的散列標籤推回到標題中。

protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) 
    { 
     if (CharacterSheet.HasOpenDialogs) 
     { 
      e.Cancel = true; 
      Dispatcher.BeginInvoke(new Action(() =>{ 
       HtmlPage.Window.CurrentBookmark = NavigationService.CurrentSource.ToString().Replace(@"\", @"/"); 
       CharacterSheet.CloseDialogs(); 
      })); 
     } 
     base.OnNavigatingFrom(e); 
    }