小编Xst*_*hef的帖子

Windows 8应用程序上的全局应用程序栏



我正在开发一个Windows 8应用程序项目.我正在使用Visual Studio 2012和它的预定义模板(GroupedPage,SplitPage,ItemsPage).
这时我需要添加一个App栏.我选择的方式是创建一个并在所有页面上显示它.我读这篇文章:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj150604.aspx

要在我的项目中包含它,我将全局页面设置为App.xaml上的起始页面

protected async override void OnLaunched(LaunchActivatedEventArgs args)
...
  if (!rootFrame.Navigate(typeof(GlobalPage), args.Arguments))
                    throw new Exception("Failed to create initial page");
...
Run Code Online (Sandbox Code Playgroud)

在Global页面上,我正在更改OnLaunched方法,以便进入真正的主页面:

 rootPage = e.Parameter as Page;            
            frame1.Navigate(typeof(MainPage), this);
Run Code Online (Sandbox Code Playgroud)

我为按钮添加了事件订阅,例如

 private void ButtonBlogList_Click(object sender, RoutedEventArgs e)
        {
            this.Frame.Navigate(typeof(BlogListManagement), this);
        }
Run Code Online (Sandbox Code Playgroud)

启动应用程序后,将显示应用程序栏,我可以使用内部的应用程序按钮进行导航,但在第一次导航后,AppBar不会显示在目标页面上.

知道我的错误吗?
谢谢你的帮助.

c# xaml appbar microsoft-metro windows-8

8
推荐指数
1
解决办法
3220
查看次数

xaml中的帧导航返回false

您好,
我正在使用xaml和c#在一个简单的Windows 8应用程序中工作.我正在使用VS 2012模板创建页面,包括导航系统.

我正在加载大量数据,因此我决定添加一个带有ProgressRing的加载页面,并在加载数据完成后导航到第一个Application页面:

//loading page
protected async override void OnNavigatedTo(NavigationEventArgs e) {
...
await topCookerManager.GetBlogsAsync();
this.Frame.Navigate(typeof(MainPage));
...
}

它在应用程序启动时运行良好,但是当我在应用程序的第一页时,当我点击后退按钮时,我将重定向到加载页面.因此,在加载页面中我正在检查数据是否已加载,如果是,则重定向到第一页.

if (dataManager.Blogs != null && dataManager.Blogs.Count > 0)
this.Frame.Navigate(typeof(MainPage));

**这就是问题**:我无法从这一点开始导航.Navigate方法返回false!我已经测试了*GoFormard*方法,它没有例外,但导航没有完成,我将继续加载页面...

你能告诉我我的错误在哪里吗?或者如何实现加载页面.
谢谢你的帮助.

c# navigation xaml windows-8

6
推荐指数
1
解决办法
2443
查看次数

标签 统计

c# ×2

windows-8 ×2

xaml ×2

appbar ×1

microsoft-metro ×1

navigation ×1