Win 8前台开发小体会

      在去年的时候,我还在自学着WP7.谁知经过一年的的学习技术刚有长进,微软的一个WP7无法升级到WP8的消息轰地将我打懵了。相比于安卓,WP7实在是冷清了许多。好不容易找到了有关于WP7的实习工作,结果做了一半,项目就被迫停下来了。这时公司却叫我们开始学习Win 8开发,准备开发Win 8项目。

      好了,也不絮叨这么多,其实我也是一个初学者,不过有WP7和WPF的一些经验让我学习Win 8轻松了许多。

      win 8的前台编程,个人以为与之前的WP7和WPF没有太大差别。主要是要了解页面的整体构架。

      开始做一个页面之前,个人以为要先了解容器控件。常用的容器控件是Grid和Stackpanel,还有一个是Canvas(画布)。Grid(网格)的特点是可以自适应屏幕大小,会自动填充空白的地方,而且Grid可以划分行列。而Stackpanel是一个有自动排版功能的控件。我自己喜欢的布局就是外层用Grid,先将页面整体划分好,而内层用StackPanel来排版。这样做的好处是整体性比较强,倘若将所有控件用Margin排列在Grid中,当页面横竖屏或者贴靠时改变布局的时候,布局就很难控制了,而且这样布局本身就很没条理。

      在Win 8中多了许多很不错的控件。其中Popup是我很喜欢的一个控件。Popup本身是一个可以弹出的容器控件,我们可以用Popup做出很多东西例如:弹出菜单,弹出框等。在Win 8中ComboBox是一个很常用的控件,但是ComboBox的样式实在太难看了,我们就可以用Popup加上一个TextBox来做一个类似ComboBox的东西。在TextBox下方放上一个Popup,然后可以在Popup里面放一个Border,再在Border中放一个ListBox绑定上我们要选择的数据。然后TextBox聚焦时弹出Popup,选择选项后更新TextBox的内容,这样一个ComboBox就完成了。

      Win 8当中还有一个Frame(框架)控件,这个控件可以说对于整个应用的导航来说很有帮助。Frame可以进行页面导航。我们可以这样做,一个页面里面放一个Frame,而应用的所有导航都在这个Frame上做。这样做有什么好处呢?Win 8有很多合约,例如搜索、设置合约。当我们要添加合约的时候,每个页面都要 把合约GetForCurrentView()再加上处理事件,跳出页面后又要把事件减去,很麻烦。而现在我们可以把这些合约都放到外面的Page上,而所有的导航在Page内的Frame进行。这样无论怎样导航,这些合约我们只用加载一次,省去了很多重复的工作。

      还有一些东西也不知道该怎么讲,我还是个菜鸟,第一次写博客,请大家多多包涵。

原文地址:https://www.cnblogs.com/qingfengwutong/p/2760685.html