RelayCommand not executing

本文关键字:executing not RelayCommand | 更新日期: 2023-09-27 18:19:40

我正试图使用Galasoft MVVMLight的RelayCommand执行RelayCommand[它在我的CodeBehind中]。

主页.xaml.cs

public MainPage()
{
    InitializeComponent();
    DataContext = this;
    MyCommand = new RelayCommand(Methode);
}
#region Commands
public RelayCommand MyCommand { get; private set; }
#endregion
private void Methode()
{
    int i = 1;        
}

主页.xaml:

<Button Command="{Binding MyCommand}"/>

不幸的是,该命令没有被激发/该方法没有被调用。其他绑定元素,如ImageSource。。。运行良好。

RelayCommand not executing

在设置DataContext之前尝试创建新的RelayCommand

设置DataContext会触发数据绑定引擎更新绑定。由于尚未设置MyCommand属性,因此ButtonCommand将为null。在设置DataContext之后创建新的RelayCommand将不会通知Button属性的更新。

在设置DataContext之前创建Command是一种解决方案,另一种是实现INotifyPropertyChanged接口,并在设置MyCommand之后引发PropertyChanged事件(或者在setter中,需要一个backing字段)。