我正在尝试使用Galasoft的RelayCommand (在我的CodeBehind中)执行RelayCommand。
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 .工作得很好。
发布于 2014-08-28 11:02:44
在设置RelayCommand之前尝试创建新的DataContext。
设置DataContext将触发数据绑定引擎来更新绑定。由于尚未设置MyCommand属性,Button的Command将为null。在设置RelayCommand后创建一个新的DataContext不会将属性的更新通知Button。
在设置Command之前创建DataContext是一种解决方案,另一种解决方案是实现INotifyPropertyChanged接口,并在设置MyCommand后引发PropertyChanged事件(或者在setter中,需要一个后备字段)。
https://stackoverflow.com/questions/25546916
复制相似问题