windows universal app中使用mvvm light

新建空的universal app project,在windows 8.1 和 windows phone 8.1 的project中分别添加“MVVM Light libraries only (PCL) NuGet” 包

在shared project 中新建view model 的class

using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Text;

namespace Universal_mvvmlight.ViewModel
{
    public class MainVM : ViewModelBase
    {
        private string mTitle = "helloworld";

        public string Title
        {
            get { return mTitle; }
            set
            {

                mTitle = value;

                RaisePropertyChanged("Title");
            }
        }

        private RelayCommand mButtonClick;

        public RelayCommand ButtonClick
        {
            get
            {
                return mButtonClick ?? (mButtonClick = new RelayCommand(() =>
                {


                    this.Title = "Fuck The World";
                }));
            }
        }


    }
}
MainVM

不用view model locator ,直接在code behind中绑定view model

 public MainPage()
        {
            this.InitializeComponent();
            this.DataContext = new MainVM();
        }

接下来在xaml中绑定

<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center">
            <TextBlock FontSize="64" Foreground="White" Text="{Binding Title}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
            <Button Command="{Binding ButtonClick}" Content="click me" FontSize="64"></Button>
        </StackPanel>

 

英文原文链接:http://dontcodetired.com/blog/post/Using-MVVM-Light-in-Universal-Windows-Apps.aspx

posted @ 2014-08-23 22:41  zhaowh  阅读(329)  评论(0编辑  收藏  举报