1
我使用MVVM模式來開發我的Windows應用程序。當用戶點擊我的列表框usercontrol上的項目。視圖模型後面的代碼將導航另一個頁面。該頁面顯示正確,但問題是我得到一個錯誤 - 「NullReferenceException」,當我想從導航上下文中獲取queryString。我查看了我的viewmodel上的uri更正。有人會告訴我如何使它工作?提前致謝。在頁面加載時獲取NullReferenceException,同時獲取NavigationContext.QueryString
我參考An error is occur when we use navigation to move other page在App.xamls.cs頁面添加以下代碼,以便viewModel頁面可以導航另一個頁面。
public static PhoneApplicationFrame CurrentRootVisual
{
get
{
return (App.Current.RootVisual as PhoneApplicationFrame);
}
}
public static bool Navigate(Uri source)
{
if (CurrentRootVisual != null)
return CurrentRootVisual.Navigate(source);
return false;
}
public static void GoBack()
{
if (CurrentRootVisual != null)
CurrentRootVisual.GoBack();
}
有代碼的視圖模型導航頁:
private void ShowCallPage()
{
if (m_CurrentQueue != null)
App.Navigate(new Uri("/PivotPage1.xaml?id=" + m_CurrentQueue.callNumber, UriKind.Relative));
}
有代碼我的另一頁上出現錯誤:
public PivotPage1()
{
InitializeComponent();
MessageBox.Show(NavigationContext.QueryString.ContainsKey("id").ToString());
}
感謝它的工作。 – user819774