Xaml 滚动视图框架。导航为空

Xaml 滚动视图框架。导航为空,xaml,windows-8,microsoft-metro,Xaml,Windows 8,Microsoft Metro,我正在尝试从ScrollViewer控件导航到页面: <Button x:Name="btnViewMenu" Content="View Menu" Click="btnViewMenu_Click" Margin="0,20,0,0" CommandParameter="{Binding}" Grid.Row="3" /> private void btnViewMenu_Click(object sender, RoutedEventArgs e) {

我正在尝试从ScrollViewer控件导航到页面:

  <Button x:Name="btnViewMenu" Content="View Menu" Click="btnViewMenu_Click" Margin="0,20,0,0" CommandParameter="{Binding}" Grid.Row="3" />

 private void btnViewMenu_Click(object sender, RoutedEventArgs e)
    {
        Button btn = (Button)sender;
        RestaurantLocation loc = btn.CommandParameter as RestaurantLocation;
        App.CurrentRestaurantLocation = loc;
        this.Frame.Navigate(typeof(SearchFormPage));
    }

私有无效btnViewMenu_单击(对象发送方,路由目标)
{
按钮btn=(按钮)发送器;
RestaurantLocation loc=btn.CommandParameter作为RestaurantLocation;
App.CurrentRestaurantLocation=loc;
this.Frame.Navigate(typeof(SearchFormPage));
}
在搜索表单页面上,我发现以下错误:

_pageKey不能为空:

    /// <summary>
    /// Invoked when this page will no longer be displayed in a Frame.
    /// </summary>
    /// <param name="e">Event data that describes how this page was reached.  The Parameter
    /// property provides the group to be displayed.</param>
    protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        var frameState = SuspensionManager.SessionStateForFrame(this.Frame);
        var pageState = new Dictionary<String, Object>();
        this.SaveState(pageState);
        frameState[_pageKey] = pageState;
    }
//
///当此页面不再显示在框架中时调用。
/// 
///描述如何到达此页面的事件数据。参数
///属性提供要显示的组。
受保护的覆盖无效OnNavigatedFrom(NavigationEventArgs e)
{
var frameState=SuspensionManager.SessionStateForFrame(this.Frame);
var pageState=新字典();
这个.SaveState(pageState);
frameState[_pageKey]=页面状态;
}

我航行不正常吗?这只发生在scrollviewer中。

谢谢。我必须调用基本方法:

 protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
        List<string> theResults = e.Parameter as List<string>;
        city = theResults[0];
        state = theResults[1];
        category = theResults[2];
        BindData();
    }
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e)
{
基地。导航到(e);
列出结果=e.参数作为列表;
城市=结果[0];
状态=结果[1];
类别=结果[2];
BindData();
}

确保您有一个呼叫base.OnNavigatedTo(e)和base.OnNavigatedFrom(e)

在执行逻辑后的重写方法中

这是否适用