在 UWP 应用页面之间共享 xaml

Share xaml between UWP app pages

我有一个底部有导航栏的应用程序。我想将页面的那部分保持静态 - 对于所有其他页面,它将是 'base'。我可以将完全相同的代码部分添加到每个 xaml 页面,但是,我觉得在每个页面上初始化导航栏是浪费资源和时间。

为了更清楚,下面是 Facebook 应用程序 (iPhone) 的图片,与 Windows 上的 UI 几乎相同 10. [=24 的红色边框部分=] 无论您移动到哪个页面,都不会改变。对于那些使用 Facebook 应用程序的人,您知道当您滑动时 left/right 只有中间的内容(没有红色边框)发生变化,并且滑动动画仅应用于页面的那部分。

这基本上就是我想要实现的目标。代码的静态部分只会初始化一次,在所有页面上保持可见,并且在页面之间切换时不会应用任何动画或页面转换。我一直在阅读文档,但没有找到有关如何实现该目标的任何有用信息。

您可以通过使用共享控件和 ContentControl 对象创建一个页面来轻松实现这一点,该对象将负责显示实际的页面内容。

ContentControl表示一个控件,包含任意类型的单个内容;这意味着你可以放,例如; UserControl inside of it, even a Page.

话虽这么说,但请记住这样做;您将失去 Frame 功能,需要自己处理许多事情,例如导航堆栈和后退按钮功能。

我会离开你 this question on SO 这对你的情况有帮助。