win8安卓平板上安装wpf的wpf程序,如何禁止自动转屏

[推荐] 如何用winform实现类似win8桌面滑动翻页效果 [问题点数:140分,结帖人caozhy]

可以啊,明天或者后天再发给你吧


能给个源码看看吗,新手求教!谢谢。@谢谢

能给下源代码嘛?真心谢谢啦 @

 能给个源代码看看嘛?谢谢,@

可以啊,明天或者后天再发给你吧


能给个源码看看吗,新手求教!谢谢。@

大侠哇,好人,求源码学习学习,ca_lei@

新手求教,不胜感激。。@

可以啊,明天或者后天再发给你吧


大家不用贴e-mail了,过几天我会写个帖子分享我重新写的(在写ing),更有实际意义程序(拥有更多动画效果),并分享源代码。

匿名用户不能发表回复!

版权声明:本文为博主原创文章,未经博主允许不得转载。 /u/article/details/

   在WPF系(包括SL,WP或者Win8)应用开发中,MVVM是个老生常谈的问题。初学者可能不会有感觉,但当你写一个核心逻辑能在各种平台上无缝移植,而只需改改UI的时候,那种快感是无法用语言来形容的。

   笔者当初接触时,对MVVM并不以为然,编了很多代码以后,反过来看MVVM for WPF的经典文章以后,才若有顿悟。标准的MVVM把程序分成了Model, ViewModel和 View三个部分,但方法是死的,人是活的。我一般的做法是逻辑写一个,View写一个,没有那么严格。为了方便讨论,我们把ViewModel和Model合称Model, View还是View, 分别代表逻辑和界面。分离是肯定的,可是在程序中终究是要把View和Model在某个地方结合起来。 本文就讨论下几种结合的方式。

 基本的逻辑结构可以用下图来表示。不同的库是由自底向上的方式设计的。

    这种由View调用Model, 并具体由View负责Model实例化的方式是最为普遍的,非常适合于需要跨平台的应用。当然,Model并不知道View的存在,因此View要承担所有的界面逻辑,好在WPF已经给出了足够多的解决方案,触发器,模板。基本绝大多数需求都能满足。

   肯定会有同学问道,怎么会有这么奇怪的写法?这种做法的最常见场合应该是插件系统。一个个的Model其实是一个个的插件,它们应该具备自治性。因此,应该由自身负责界面的产生。

   它的好处是可以通过Model更加精细的调节View的行为,你可以在任何时候获得View内部ListBox的SelectIndex, 而不用麻烦的用Binding。 打个比方说,游戏开发中,你需要随时控制物体的运动速度和方向,这样Model就必须控制View. 绑定很难解决这类问题。

   我不知道有多少同学在WPF中使用插件的设计思想。若按插件的思路,库应该按功能划分。在这种设计思路下,不同的库便不是自下而上的分层了,而是通过领域和功能分层,如下图:

  每一个功能库都有完整的自治性,当你将该功能库拷贝到主框架之下时,它就会自动加载,由Model负责View的生成。一切合情合理。

   这种思路来自于工厂方法,类似于装配车间,View和Model都不负责互相的实例化。而有一个“管理器”负责组装它们。这样的好处在于可配置。你可以通过配置文件动态的改变View.

    可以看出,这种做法彻底的隔绝了View和Model, 同时通过配置选项,可以随时修改View。可谓是一种不错的设计。 但是,必需看到,对于View来说,Model没有任何管理的权限。下图展示了它的基本逻辑:

  如果最终你依旧需要两边互相控制,可以考虑采用dynamic关键字。

    其实没有哪种方式是最好的,完全是看你对整个系统的设计需求。但不论如何,界面和逻辑的分离,这是毋庸置疑的。下面的表格总结了几种做法的特点和适用场合:

适用于自底向上的分层设计
插件结构或用于游戏开发 适用于按功能划分的插件型类库设计,或要求Model大量控制View的场合
第三方管理器实例化和组装Model和View 可动态替换所有View 两者彻底隔绝,没有控制灵活性

    当然,如果用MVVMLight等第三方类库的话,就应该按照它的方案去开发。但我们的原则是,解决问题,但不要引入更复杂的问题。为了解耦,搞了大量的复杂逻辑,反而舍本逐末。

当使用WPF创建图形时,应该清楚的知道图形显示在什么地方,要明白这一点,就需要我们对WPF中的坐标系统有一定的认识。下面就讨论一下WPF中的坐标系统以及它们的关系。

  当使用WPF创建图形时,应该清楚的知道图形显示在什么地方,要明白这一点,就需要我们对WPF中的坐标系统有一定的认识。下面就讨论一下WPF中的坐标系统以及它们的关系。

   默认坐标系统

  在WPF 2维坐标中规定,左上角是坐标原点,向右为X轴的正方向,向下为Y轴的正方向,如图:

  在WPF中,可以用布局控件来描述绘制区域,如Canvas、DockPanel、Grid等,下面,看一个例子:

  也可以使用其它单位,WPF支持四种不同的单位:px、in、cm、pt ,如:

  当然,这时也还有一个问题,如在Canvas中添加一个按钮和文本:

  会发现,文本和按钮也是经过翻转,要解决这个问题,可以再次翻转:

我要回帖

更多关于 安卓平板上安装wpf 的文章

 

随机推荐