关于Page和NavigationWindow

         因为参加Imagine Cup的缘故,这学期接触了WPF,自己很快便喜欢上了它强大的UI编辑功能。又由于项目上需要所有Ui都显示在同一个窗体上,所以初步计划的是用后台代码进行重绘。前台仅仅利用XAML进行简单的布局。不过因为后台重绘的话个人感觉比较复杂,所以一段时间以来一直在需找有没有什么简单的方法。

        某天忽然发现Windows7自带的Media Center很有意思,虽然虽然是一个窗体,却带有浏览器的前进后退按钮,顿觉奇怪。然后就查了些资料,知道WPF可以通过像Web一样的URL来实现导航。顿觉这样做的话会轻松不少。在这里面Page使我们真正的Ui,而NavigationWindow不过是为我们提供了一个框架,Page是附在上面的。因为VS2008不能直接创建NavigationWindow和Page相关的项目,所以我们要自己修改。

       首先创建一个WPF应用程序,在后台将继承的Window类改为NavigationWindow类。然后在XAML中同样将< window………标记改为NavigationWindow        当然现在运行依然会报错。。。。。。。。。还需改动一个地方,不过我忘了文件名字了。。。。。。自己根据错误找过去吧。。。。。。也是改为NavigationWindow就行了^_^

      NavigationWindow上不能有任何控件。。。包括Grid等。。。。记住现在我们的UI是Page。新建Page,在上面随便画画,将主窗体的XAML里将NavigationWindow的Source属性设为Page的名字,就OK了。另外Page之间的切换也是很简单方便的。NavigationService.Navigate(new Uri("XXXXX.xaml", UriKind.Relative));   XXXXX为Page的名字。

你可能感兴趣的:(关于Page和NavigationWindow)