具有多个页面的 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 中的 BackButtonPressed 问题?