繁体   English   中英

在Windows Phone 7上使用Monocross和Panorama和/或Pivot控件

[英]Using Monocross on Windows Phone 7 with Panorama and/or Pivot control

我喜欢Monocross的想法,但是当我想使用Panorama和/或Pivot控件时,我对Windows Phone 7有点失落。 提供的唯一视图是页面视图。 因此,从一个页面导航到另一个页面非常有用! 但现在我想要一个Pivot或Panorama。 基本上我可以为这个视图创建一个新的控制器,但确实得到了控件内的“页面”。 导航确实导航到它,但不在数据透视/全景内。

对于Monotouch和MonoDroid样本已经准备好了如何做到这一点(基本上创建了一个新的viewcontroller)。 但WP7已被抛在后面。

任何人?

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

我决定我不想受到另一个第三方框架(单声道就足够了)的支配,并研究了一个我可以自己构建和维护的解决方案。 新的MVVM模式以及Expression Blend非常酷,但很快你会发现自己在跨平台开发时遇到困难.MVC MVP模式似乎也不适合我需要的东西。 最后确定了PM模式并将其扩展为PMH,其中H用于硬件。 为了实现我的需要,我必须将基本小部件(按钮,面板,文本框)抽象为每种设备类型的底层平台层。 我的平台层代表我的代码库的大约1%,并允许我为我为其定位的每个设备设置应用程序。

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

我还没有完成我的开发,但到目前为止,我对我的进展感到非常满意。 我已经为Windows应用程序开发了大约20年的用户界面,我从不使用界面生成器工具,因为我发现它们从未给我我想要的东西而且真的浪费我的时间(尽管Blend非常酷)并且还创建了巨大的代码膨胀特别是在Blend中。

我不能完全帮助uniross - 我确实为droid做过一次样本 - https://github.com/slodge/monocross-tab-activity-view - 但我从未完成wp7部分。

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

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

请注意,在更大的应用程序中,执行此操作时可能会考虑重要的内存问题 - 尤其是在使用不会同时将所有页面加载到内存中的数据透视控件时(因此您不需要加载所有视图模型)

关于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

标签和透视示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM