使用MVVM模式

时间:2015-12-09 11:23:14

标签: .net wpf

我正在使用MVVM模式在WPF中创建UserControl。

我正在用它的ViewModel创建一个UserControl,我需要在它的ViewModel中绑定UserControl中按钮的命令。但是我无法做到,如果有人遇到过这种情况,请帮助我。 在此先感谢。

1 个答案:

答案 0 :(得分:0)

用户控件:

<UserControl x:Class="Project.Views.TestView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:vm="clr-namespace:Project.ViewModels">

  <UserControl.DataContext>
    <vm:TestViewModel/>
  </UserControl.DataContext>

  <Button Command="{binding Path=TestCommand}" Contect="Test"/>
</UserControl>

视图模型:

namespace Project.ViewModels
{ 
  public class TestViewModel
  {
    public ICommand TestCommand{ get;set; }

    public TestViewModel()
    {
      TestCommand = new RelayCommand(TestCommand_OnClick) //your Icommand implementation
    }

    void TestCommand_OnClick(object obj)
    {
       MessageBox.Show("Clicked the Test button");
    }
  }
}

这会奏效。 您可以根据需要添加用户控件。