具有多个页面的 Windows Phone 8.1 自定义控件

Posted

技术标签:

【中文标题】具有多个页面的 Windows Phone 8.1 自定义控件【英文标题】:Windows Phone 8.1 custom control that has multiple Pages 【发布时间】:2015-10-11 14:30:09 【问题描述】:

我有一个允许用户捕获和操作图像的应用程序,需要对多个图像多次执行此操作,因此我想将我的图像捕获和操作步骤编写为自定义/用户组件,以便我不需要重复代码。

为了简单解释流程,我目前有:

    允许用户启动相机并指定一些输入的页面 允许用户捕捉图像的相机页面 允许用户查看图像并应用任何其他效果的页面

上面的第2页和第3页(与相机和图像处理有关)应该在组件中。然后我可以有多个版本的第 1 页,它将使用用户提供的参数调用组件。然后该组件将返回到调用页面。

我不确定如何实现我想要的流程,或者是否有可能。我可以创建一个类,例如CameraComponent 然后从第 1 页调用它,但是我的组件如何将屏幕更改为第 2 页,完成后返回第 1 页?我还希望我的组件接受自定义模型/对象,并通过回调或其他机制返回一个对象,以便第 1 页知道 CameraComponent 操作的结果。

非常感谢任何指导,尤其是在更改导航方面。是否建议/明智地传递对 Frame 的引用,然后从我的组件中更改导航?

【问题讨论】:

【参考方案1】:

在 Windows Phone 8 中嵌套 Frames 是不可能的,因此您不能拥有一个由多个 Pages 组成的组件(它必须替换调用它的整个 Page)。好消息是您实际上并不需要为此使用实际的 PhoneApplicationPage 类 - 您可以通过加载和卸载不同的 UserControl 实例来简单地显示和隐藏各种“页面”项。

考虑阅读this old blog post 了解一些背景知识。

【讨论】:

以上是关于具有多个页面的 Windows Phone 8.1 自定义控件的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8.1向导控件

Windows Phone 8.1 中的 BackButtonPressed 问题?

Windows phone 8.1 裁剪矩形

Windows Phone 8.1中的ContentDialog无法正常关闭,即使它已隐藏

旋转后调整网格大小 Windows phone 8.1

带有图像标签的 Binging 字符串 - Windows Phone 8.1 UWP