MVVM 通过命令正确实现 TextChanged 事件

我正在使用 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 action;
        private Predicate predicate;

        public CustomCommand(Action execute, Predicate canExecute)
        {
            action = execute;
            predicate = canExecute;
        }

        public event EventHandler CanExecuteChanged
        {
          
  

                            
                        
                    
                    
                    

你可能感兴趣的:(WPF,wpf)