首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RelayCommand不执行

RelayCommand不执行
EN

Stack Overflow用户
提问于 2014-08-28 10:46:22
回答 1查看 2.6K关注 0票数 2

我正在尝试使用Galasoft的RelayCommand (在我的CodeBehind中)执行RelayCommand。

MainPage.xaml.cs

代码语言:javascript
复制
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:

代码语言:javascript
复制
<Button Command="{Binding MyCommand}"/>

不幸的是,命令没有触发/方法没有被调用。其他绑定元素如ImageSource .工作得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-28 11:02:44

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

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

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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25546916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档