2012-07-02 115 views
2

在我的Windows Phone應用程序中,當按下導航到Page1的按鈕並在完成加載之前,我按下按鈕導航到Page2,我的應用程序崩潰。這是正確的嗎?實施這種行爲的最佳做法是什麼?Windows Phone應用程序在雙導航時崩潰

更新 一般來說,我認爲,對我來說最好的辦法,是阻止屏幕上的所有按鈕,其中一人被壓後,讓他們完成導航後積極,所以我怎麼能這樣做呢?

+0

有什麼異常? – Phil

回答

2

最好的做法是在第一次點擊後禁用Click事件。 如果您的按鈕被評爲B,並且在任何指定的事件處理在XAML或隱藏代碼 像

b.Click += new RoutedEventHandler(ButtonOnClick); 

void ButtonOnClick(object sender, RoutedEventArgs e) 
{ 
    b.Click -= new RoutedEventHandler(ButtonOnClick); 

    // Navigate away now. 
} 

其實我的樣本才停止雙擊當前的按鈕,但您可以禁用其他按鈕也是如此。

在我的一個應用程序中,我維護一個列表,我迭代和顯示/隱藏,啓用/禁用必需。你所做的只是迭代並設置正確的屬性。

foreach(var button in myButtons) 
    button.IsEnabled = false; 
+0

非常感謝,我已經更新我的問題 – revolutionkpi

+0

更新我的帖子給你另一個想法。 –

+0

它確定,但我怎樣才能禁用按下後退按鈕? – revolutionkpi

0

裹調用NavigationService.Navigate(Page2Uri)Dispatcher.BeginInvoke(()=> {...});如下:

Dispatcher.BeginInvoke (()=> { NavigationService.Navigate(Page2Uri) }); 
+0

非常感謝,我已更新我的問題 – revolutionkpi

相關問題