使用MVVM在WPF中绑定命令
我正在学习MVVM和WPF 。 我的项目中有一个xaml
文件,后面的代码中有一个简单的单击事件处理程序。
现在我想在MVVM中做同样的事情。 我阅读了很多文章,并在沙发上阅读了很多答案。 但仍然无法做到这一点。
任何人都可以举一个简单的例子,在MVVM中完成按钮点击事件。
编辑
namespace WhiteBalance.ViewModels { public class DashBoardViewModel: ObservableObject { private string _name = "dsqdasd"; public string NAME { get { return _name; } set { _name = value; } } public ICommand SaveCommand { get; set; } private bool CanExecuteSaveCommand() { return true; // !string.IsNullOrEmpty(LastName); } private void CreateSaveCommand() { SaveCommand = new RelayCommand(SaveExecute, CanExecuteSaveCommand); } public void SaveExecute() { //Person.Save(_newPerson); NAME = "Changed Name"; } public DashBoardViewModel() { //objModel.TestText = "This will change"; NAME = "TestName"; } } }
提前致谢。
您可以将按钮的Command属性绑定到任何返回ICommand的属性。 Prism实现了一个非常方便的名为DelegateCommand的命令,它非常容易使用( 这里是它的一个假设):
public ICommand MyButtonClickCommand { get { return new DelegateCommand
CodeProject示例如何在WPF中使用命令有一个非常类似的示例,代码可以轻松完成。 上一个Stack Overflow问题有一个使用静态绑定到的RoutedCommands的示例: 如何将Close命令绑定到按钮 ,以及如何将WPF按钮绑定到ViewModelBase中的命令? 有一个稍微高级的例子。
- 如何使用Xaml中的SortDescriptions对TreeView项进行排序?
- 有没有办法在运行时构建新类型?
- Html到pdf一些字符丢失(itextsharp)
- 如何在C#中将值从form2 datagridview复制/传输到form1 datagridview?
- 在字符串中实现重复字符删除的最快方法(C#)
- 如何在没有ServiceHost类的情况下使用WCF创建简单的Web服务器?
- System.BadImageFormatException:无法加载文件或程序集’x_Accessor,…’此程序集由运行时更新程序构建
- 在解决方案资源管理器中隐藏类视图
- 无法使用Microsoft.Azure.ServiceBus连接到Azure ServiceBus