在WinRT应用程序中干燥

时间:2015-08-29 07:45:22

标签: c# xaml windows-runtime windows-phone-8.1 caliburn.micro

我用汉堡包菜单开发WinRT应用程序。如何将其作为独特的用户控件提取以减少代码重复?所有页面上的菜单都相同。

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

帮我组织这个组件。

2 个答案:

答案 0 :(得分:1)

将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));

答案 1 :(得分:1)

实现这一目标的4种方法 1)创建控件,因为您指示了Windows Phone 8.1,因为SplitView不存在 2)为WinRT购买Teleriks控件(Windows Universal的UI,仅针对Windows 8.1样式的Universals atm)(仍然需要工作IMO)
3)在评论中使用上面那个免费的...
4)移动到Windows 10,它在框架中

与Caliburn.Micro的使用绑定到放置在“内容”窗格中的Frame的Load事件。从那里正常导航。 CM 3.0 Beta1在Windows 10 UAP中有一个这样的例子