【问题标题】:Using Monocross on Windows Phone 7 with Panorama and/or Pivot control在 Windows Phone 7 上使用带有全景和/或枢轴控制的 Monocross
【发布时间】:2012-02-01 07:51:39
【问题描述】:

我喜欢Monocross 的想法,但是当我想使用全景和/或枢轴控件时,我对 Windows Phone 7 有点迷失了。提供的唯一视图是页面视图。所以从一个页面导航到另一个页面效果很好!但现在我想要一个 Pivot 或 Panorama。基本上我可以为这个视图创建一个新的控制器,但是在控件中获取“页面”。导航确实导航到它,但不在 Pivot / Panorama 内。

对于 Monotouch 和 MonoDroid 示例,已经准备好如何执行此操作(基本上创建了一个新的视图控制器)。但是 WP7 被抛在了后面。

有人吗?

【问题讨论】:

    标签: c# windows-phone-7 xamarin.ios xamarin.android monocross


    【解决方案1】:

    我也在使用 mono 进行跨平台开发,并且像您和许多其他人一样面临如何处理用户界面和其他底层硬件集成的问题。

    我决定我不想受另一个第三方框架的摆布(mono 就足够了),并研究了一个我可以自己构建和维护的解决方案。新的 MVVM 模式和 Expression Blend 真的很酷,但很快你就会发现自己在跨平台开发方面陷入困境。MVC an MVP 模式似乎也不适合我的需要。最后确定PM 模式并将其扩展为PMH,其中H 代表硬件。为了实现我所需要的,我必须将基本小部件(按钮、面板、文本框)抽象为每种设备类型的底层平台层。我的平台层约占我代码库的 1%,并允许我为每个目标设备对应用程序进行皮肤。

    对于我的 WP7 解决方案,我几乎不使用任何 HTML,只有大约 25 行,这足以初始化应用程序和主页。用户界面的其余部分以编程方式组合在一起,就像我在 WinForms 中一样。在 WP7 上,我仍然使用 Pivot 控件,因为它确实非常时髦,并且正在为在 Android/iPhone 上使用的类似控件建模。虽然它不会 100% 相同,但它会非常相似,并且在我的核心代码中仍然使用相同的导航引擎。

    我的发展还没有完成,但到目前为止,我对自己的进步感到非常满意。我为 Windows 应用程序开发用户界面已经有 20 年了,我从不使用界面构建工具,因为我发现它们从来没有给我想要的东西,真的浪费了我的时间(虽然 Blend 很酷),而且还造成了巨大的代码膨胀尤其是在 Blend 中。

    【讨论】:

      【解决方案2】:

      我不能完全帮助 monocross - 我曾经为 droid 做过一个示例 - https://github.com/slodge/monocross-tab-activity-view - 但我从未完成过 wp7 部分。

      对于 mvvmcross... 这是相关的...有几个示例 - 一个在教程中(有点 hacky!)和一个在会议应用程序中 - 是首选示例。

      我选择的基本技术是为全景图的每个“选项卡”使用子视图模型 - 请参阅如何为 https://github.com/slodge/MvvmCross/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.UI.WP7/Views/HomeView.xaml 中的每个项目设置数据绑定 DataContext

      请注意,在较大的应用程序中,执行此操作时可能需要考虑重要的内存问题 - 特别是在使用不会同时将所有页面加载到内存中的枢轴控件时(因此您实际上不需要加载所有页面)视图模型)

      conf 应用上的一些博客:http://slodge.blogspot.co.uk/2012/03/update-on-mvvmcross-sqlbits-conference.html

      以及最终的 sql 位来源:https://github.com/slodge/MvvmCross/tree/master/Sample%20-%20CirriousConference

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-08
        • 1970-01-01
        • 2014-06-17
        相关资源
        最近更新 更多