我尝试使用Galasoft MVVMLight的RelayCommand执行RelayCommand(在我的CodeBehind中)。
MainPage.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;
}
MainPage.xaml中:
<Button Command="{Binding MyCommand}"/>
不幸的是,该命令未触发/该方法未被调用。像ImageSource这样的其他绑定元素......工作正常。
答案 0 :(得分:5)
在设置RelayCommand
之前尝试创建新的DataContext
。
设置DataContext
会触发数据绑定引擎来更新绑定。由于尚未设置MyCommand
属性,Button
s Command
将为null。设置RelayCommand
后创建新的DataContext
不会通知Button
该属性的更新。
在设置Command
之前创建DataContext
是一个解决方案,另一个正在实施INotifyPropertyChanged
界面并在设置PropertyChanged
后提升MyCommand
事件(或者在制定者中,需要一个支持领域。)