WPF MvvmLight的使用
一.在新建的项目中管理NuGet程序包,如下图,下载并安装:
我们会看到安装成功后项目中多了一个文件夹ViewModel,内部有两个文件:MainViewModel.cs 和 ViewModelLocator.cs(有时候生成的这个文件中的命名空间有错误,需要重新添加,此文件不用也可删除)
二.在MainViewModel 类中实现关联命令和属性;
using GalaSoft.MvvmLight;
namespace WPF0316e.ViewModel
{
public class MainViewModel : ViewModelBase
{
public MainViewModel()
{
RunCommand = new GalaSoft.MvvmLight.Command.RelayCommand(Run);
Name = "Hello";
}
private string name;
public string Name
{
get { return name; }
set { name = value; RaisePropertyChanged(); }
}
public GalaSoft.MvvmLight.Command.RelayCommand RunCommand { get; set; }
public void Run()
{
}
}
}
三.主窗体Xaml代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WPF0316e.ViewModel;
namespace WPF0316e
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainViewModel();
}
}
}