我正在使用 MVVM 模式学习 WPF。我的应用程序正在计算体重指数,所以它真的很简单 - 只是为了帮助我理解这种模式的基础。
我进行了一些试验,并决定通过命令实现 TextChanged 事件,以允许用户在输入高度或体重时看到整体 BMI 标签的变化。
我在其中使用 TextChanged 命令的文本框在 TwoWay 模式下绑定(bind)到 ViewModel 属性,因此我认为如果在发生 TextChanged 事件时在绑定(bind)到这些文本框的属性上引发 INotifyPropertyChanged 事件,它将自动更新 View ,但它不会。
所以问题是,我做错了什么,我该如何正确实现?
自定义命令类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
namespace Site.IDE
{
public class CustomCommand : ICommand
{
private Action<object> action;
private Predicate<object> predicate;
public CustomCommand(Action<object> execute, Predicate<object> canExecute)
{
action = execute;
predicate = canExecute;
}
public event EventHandler CanExecuteChanged
{
add
{
CommandManager.RequerySuggested += value;