首页 > 代码库 > windows universal app中使用mvvm light

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

windows universal app中使用mvvm light