我自己没有尝试过,但是 WP 框架有 Window.Current.Content 对象,您可以使用它来加载不同的视图。
例如:
// Create a Frame to act navigation context and navigate to the first page
var rootFrame = new Frame();
rootFrame.Navigate(typeof(BlankPage));
// Place the frame in the current Window and ensure that it is active
Window.Current.Content = rootFrame;
Window.Current.Activate();
因此,如果您使用的是 windows phone 8 项目模板,则可以使用该对象轻松告诉应用程序加载 xaml 视图或游戏视图。
您还可以在this site 上查看如何使用 WinRT 和 monogame(Window.Current 是 WP 和 WinRT 框架的一部分)。在这里,您将了解如何集成这两个框架以使用 WinRT xaml 视图创建单人游戏:)
有关 Window.Current 的更多信息,请查看this link。
编辑
如果您使用的是用于 windows phone 的 monogame 模板,那么您的项目中应该已经存在一个 XAML 页面,该页面用于加载游戏本身,以及用于视频和声音播放的媒体元素。
该页面名为“GamePage.xaml”,您可以将其用于导航目的。
此信息取自 Adam Dawes 撰写的“Windows 8 and Windows Phone 8 Game Development”一书(第 13 章)。
对于 Windows Phone 项目,GamePage 实现为
一个普通的页面。 [...]
在 Windows Phone 页面中有一个整页
网格控件,里面是另一个全屏类型的控件
绘图表面。这是 DirectX 可以用来
将图形渲染到 Windows Phone 页面。我们的 XAML 内容也可以
放入网格中。 MediaElement 控件存在于
格子也是。 MonoGame 使用它来播放它的一些音频
功能。
在这两个平台上,XAML 和 DirectX 的设计方式
交互是先处理 DirectX 渲染。一旦这
已完成,XAML 呈现器然后控制并添加其
内容作为第二步,在呈现最终呈现的页面之前
给用户。 因此,XAML 内容将始终出现在前面
MonoGame 渲染的任何图形。这可确保任何 XAML 控件
我们用作我们的用户界面(用于控制按钮、文本显示和
以此类推)将在游戏画面前畅通无阻地出现。
XAML 呈现仍采用控件内的任何透明度
考虑到,所以很可能有控制是
部分透明或使用 alpha 着色。这些将融入
MonoGame 图形的前面,正如您所期望的那样。
考虑到这一点,您应该能够从您的游戏类 (monogame) 中抛出一个事件,xaml 页面可以自行订阅它,然后在捕获时呈现您的 xaml 页面(也许用户控件会更明智因为您不会离开游戏主页面)。
希望这能帮助您解决问题。