WinRT 应用程序中的 DRY

DRY in WinRT application

我开发了带有汉堡菜单的 WinRT 应用程序。如何将其提取为不同的用户控件以减少代码重复?这个菜单在所有页面上都是一样的。

或者我可以创建带菜单的主页并在其中嵌入其他页面吗?喜欢 html iframe。 Caliburn Micro 可以做到这一点,但我不知道这是否是个好主意。

帮我整理一下这个组件。

最好将 splitview 控件放在一个页面(例如 Mainpage)中并仅导航 SplitView.Content 的内容。

  <SplitView>
        <SplitView.Pane>
            <Button Content="Click"></Button>
        </SplitView.Pane>
        <SplitView.Content>
            <Frame Name="MainFrame"></Frame>
        </SplitView.Content>
    </SplitView>

导航只需交换框架的内容:

MainFrame.Navigate(typeof(SomePage));

实现此目标的 4 种方法
1) 创建控件,因为你指出 Windows Phone 8.1 因为 SplitView 不存在于其中。
2) 为 WinRT 购买 Teleriks 控件(UI 用于 Windows Universal,仅针对 Windows 8.1 风格 Universals atm)(IMO 仍需工作)
3) 在评论中使用上面那个免费的...
4) 移动到 Windows 10,它在框架中

关于 Caliburn.Micro 的用法,绑定到放置在“内容”窗格中的框架的加载事件。从那里正常导航。 CM 3.0 Beta1 有一个这样的例子 Windows 10 UAPs