• WPF制作的天气预报小工具


    上次被叫去面试WPF开发,让我重拾了对WPF的兴趣.国庆时候没地方耍,正好在家好好温习了下Prism库,对模块化开发,Region等有了更深的理解.节后上班居然没事做,难道看点花边新闻打发时间么?还是算了吧,太对不起程序员的身份了.楼主在公司上QQ时,总是无法显示正确的地理位置信息,因此加载不了天气预报,路上被淋过几次了,很是不方便呢.然后就考虑自己动手做一个.

    功能超简单,先上几个图片:

    附上解决方案目录:

    说点闲话:

    1.首先项目实在是太小了,最开始做的时候,本来就想直接拖控件,后来发现个问题.在显示天气数据的时候,可能有10多个文本框需要我去赋值,在后台挨个挨个手写,实在是太累了,而且最怕的就是后面哪个文本框会改动,这样维护代码是超吃力的,于是果断换成MVVM,用Binding来.

    2.换成简单的MVVM吧,视图切换什么(从"默认窗口"跳转到"选择城市窗口",就涉及到视图的切换)的得写behavior或者其他什么东西来实现,实在觉得烦躁.好在Prism有个Region可以实现导航(Navigation).以前一直觉得Region很复杂,使用后才发现用起来太顺手了.

    3.我想在ViewModel中实现导航,但是我无法获取IRegionManager的实例.这怎么办,难道又要写一些Behavior来实现么?还好,ViewModel可以访问一个全局的IUnityContainer,这个IUnityContainer在Bootstrapper创建Container的时候赋值,通过它可以"创造"出所有的依赖实例.那么,导航什么的就很简单了.这样也就不再是简单的MVVM,而是有了依赖注入的MVVM.

    4.模块神马的实在没法说了,本来总共就2个窗口,可有可无的东西.

    5.样式.这个问题纠结太久了,一直对WPF又爱又恨,就是因为WPF的开源项目太少了,美工也少,很多样式得自己写.强忍着恶心感调啊调,调成上面图中的样子了.注意,我的审美观有很大的缺陷,伤了您的眼我只能表示抱歉.

    6.我们是程序员,整天纠结在哪个技术好,哪门语言吃香,实在是浪费时间的事情.不如花点时间,用自己感兴趣的技术写点自己用的小工具,又锻炼技术,又体现了价值,何乐而不为呢?

    7.源码下载  这个是在VS2012下开发,VS2010 SP1环境应该能打开.

  • 相关阅读:
    redis集群redis-cloud搭建
    Linux下搭建redis服务器
    mybatis主键返回
    分布式文件系统FastDFS
    mapper映射文件不发布
    dubbo发布和引用服务
    PageHelper分页插件
    F. Cards and Joy
    E. Paint the Tree 树形dp
    D. Sequence Sorting dp
  • 原文地址:https://www.cnblogs.com/scheshan/p/2717082.html
Copyright © 2020-2023  润新知