MVVM Light 学习笔记2 开始使用

    安装完成后,我们可以直接通过VS2010或blend4创建基于MVVM Light模板的项目了,通过模板创建的初始项目已经有一个简单的实例,我们先研究他。
    相比一般的wp7项目,它默认创建了Model、ViewModel两个文件夹,ViewModel文件夹中有两个简单代码文件。具体内容后面再说。
    默认创建的MainPage.xaml页面看到的时候是个空白页面,上面没有任何内容。然而却有个错误提示。(很奇怪,刚创建就有错误提示)。
    这时候编译一下,发现更奇怪的事情发生了,MainPage.xaml页面出了一些内容。(哈哈,我这个外行很见怪)。
    
    查过相关资料后,发现这个MVVM Light模板其实隐藏了很多东西,它帮我们创建了,但我们还是需要了解下的:
    1、App.xaml中添加了针对ViewModel命名空间的引用,就是在Application段添加了
            xmlns:vm="clr-namespace:MvvmLight6.ViewModel"
        这样一段,xmlns是xml命名空间的意思。
    2、另外,在<Application.Resources>段中,注册了这样一个资源:
                    <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" />
        这里的vm是前面定义的命名空间,ViewModelLocator是命名空间中的类,标记其Key为Locator,并确定其为数据源。
        这里还有一种写法,就是不在第一步声明命名空间,直接在这里写资源:
                     <vm:ViewModelLocator xmlns:vm="clr-namespace:MvvmLight6.ViewModel" x:Key="Locator" />
        当然,也可以在具体页面中引用资源。
    3、下一步就是在页面中绑定资源了
                <phone:PhoneApplicationPage
                           ……
                            DataContext="{Binding Main, Source={StaticResource Locator}}"
                            ……
                  >
          这里的Main是Locator(也就是ViewModelLocator 类)中的一个属性,查代码可以看到它是一个MainViewModel对象。
    4、这时候页面中所有的控件都可以直接使用Main中的属性进行绑定,默认代码可见:
        <TextBlock x:Name="ApplicationTitle"
                       Text="{Binding ApplicationTitle}"
                       Style="{StaticResource PhoneTextNormalStyle}" />
        绑定的写法就是中括号中直接写个Binding,后面填写对应的属性名ApplicationTitle。这就是我在文章开头所看到的闹鬼事件。在编译前,这些资源还不存在。编译之后,这些资源就可以正常绑定了。
了解了前面这4方面的内容,对MVVM应该已经有一个比较清晰的印象了。不过这只是皮毛,事件的绑定还没出现呢。
 
 
 
 
 
 




转载于:https://www.cnblogs.com/zsz417/archive/2011/04/27/2030450.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值