C# 启用NavigationCacheMode时未刷新Page.BottomAppBar

C# 启用NavigationCacheMode时未刷新Page.BottomAppBar,c#,xaml,mvvm,windows-phone-8.1,C#,Xaml,Mvvm,Windows Phone 8.1,以下是我当前在windows phone 8.1中的应用程序流程: 我有一个带有轴心和底部appbar的主页 使用主页中的上述代码填充数据透视项内容: NavigatedToNavigationEventArgs e上的受保护覆盖无效 { 如果RootPivot.Items==null返回; RootPivot_OnPivotItemLoadedRootPivot,新的PivotItemEventArgs{Item=RootPivot.Items[RootPivot.SelectedIndex]

以下是我当前在windows phone 8.1中的应用程序流程:

我有一个带有轴心和底部appbar的主页 使用主页中的上述代码填充数据透视项内容: NavigatedToNavigationEventArgs e上的受保护覆盖无效 { 如果RootPivot.Items==null返回; RootPivot_OnPivotItemLoadedRootPivot,新的PivotItemEventArgs{Item=RootPivot.Items[RootPivot.SelectedIndex]作为PivotItem}; } 私有void RootPivot\u OnPivotItemLoadedPivot发送方,PivotItemEventArgs args args { 如果args.Item.Content==null args.Item.Content=CreateUserControlForPivotItemstringargs.Item.Header,则为发件人; var content=args.Item.content作为用户控件; 如果content==null | | content.DataContext==null { BottomAppBar.DataContext=null; 回来 } BottomAppBar.DataContext=null; BottomAppBar.DataContext=content.DataContext; var viewModel=content.DataContext作为IRefreshTableViewModel; 如果viewModel!=null viewModel.Refresh; } 私有静态用户控件CreateUserControlForPivotItemstring pivotItemHeader,Pivot Pivot { UserControl项=null; 开关pivotItemHeader { 个案委任: 项目=新任命项目; 打破 个案简介: 项目=新项目; 打破 } 退货项目; } 每个UserControl都有一个ViewModel作为DataContext,负责处理BottomAppBar:

在AppointmentsPivotItem上,我有一个ListView,当我试图从项目详细信息页面导航回列表时,问题就开始了。 MainPage已启用NavigationCacheMode=并且在向后导航时将调用AppBar的绑定,但是,在重新导航透视项之前,它不会显示

你能推荐一个工作环境吗?
提前感谢。

最后,在一天之后,我突然想到了一个解决方案,可以解决这个问题。 不知何故,在设置DataContext之前调用BottomAppBar.UpdateLayout将强制bar根据绑定重新绘制

希望这能帮助别人