属性 更改时未执行委托命令

Delegate command not executing on property change

我目前正在尝试让 ViewA 中的滑块更改 viewA 和 viewB 中文本的字体大小。我已正确绑定所有内容,但当字体大小 属性 更改时委托命令未调用执行方法。如果我手动调用此函数,一切都会按预期进行,因此很可能是一行代码出了问题。 ViewAViewModel 如下:

public class ViewAViewModel : BindableBase
{
    private Person _CoolChick = new Person();
    private int _fontSize = 12;
    private IEventAggregator _eventAggregator;
    public DelegateCommand UpdateSizeCommand { get; set; }

    public Person CoolChick
    {
        get
        {
            return _CoolChick;
        }
        set
        {
            SetProperty(ref _CoolChick, value);
        }
    }

    public int FontSize
    {
        get { return _fontSize; }
        set {
            Console.WriteLine(_fontSize + " => Font Size");
            SetProperty(ref _fontSize, value);
            //Execute();
        }
    }

    public ViewAViewModel(IEventAggregator eventAggregator)
    {
        CoolChick.Age = 25;
        CoolChick.Name = "Methalous";
        _eventAggregator = eventAggregator;

        //likely the problem in this code
        UpdateSizeCommand = new DelegateCommand(Execute, CanExecute).ObservesProperty(() => FontSize);

    }

    private void Execute()
    {
        _eventAggregator.GetEvent<UpdateEvent>().Publish(FontSize);
    }

    private bool CanExecute()
    {
        return true;
    }
}

为什么会这样?您没有在字体 属性 的 setter 中调用 UpdateSizeCommand.Execute。该命令不会调用,除非您将它绑定到命令 属性 或手动调用它。