首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CommandBinding问题。如何启用命令按钮

CommandBinding问题。如何启用命令按钮
EN

Stack Overflow用户
提问于 2010-10-03 17:38:40
回答 1查看 836关注 0票数 3

我的代码是here>>

代码语言:javascript
复制
public class Player:INotifyPropertyChanging
{
        string addressBar;
        public string Url
        {
            get {

                return addressBar;
            }
            set { addressBar = value; OnPropertyChanged("Url"); }
        }
        public Regex regVillage = new Regex(@"\?doc=\d+&sys=[a-zA-Z0-9]{2}");

        RelayCommand _AddAttackTask;
        public ICommand AddAttackTask
        {
            get {
                if (_AddAttackTask == null)
                {
                    _AddAttackTask = new RelayCommand(param =>
                    {

                    }, param => this.CanAttack);
                }
                return _AddAttackTask;
            }
        }

        public Boolean CanAttack
        {
            get{
                if (Url == null) return false;
                return regVillage.IsMatch(Url);
            }            
        }
}

在xaml上,我有textbox和button。url绑定的Textbox,AddAttackTask绑定的按钮。当我改变文本框的值时,url changed.Main目标是当改变Url时,按钮被带到启用或禁用。但按钮始终处于禁用状态。

我正在从WPF Apps With The Model-View-ViewModel Design Pattern获取RelayCommand类

我的代码出了什么问题?

请修复我的命令绑定!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-04 12:33:37

我自己找到的。

更改属性后必须调用CommandManager.InvalidateRequerySuggested();函数

代码语言:javascript
复制
public string Url
        {
            get {

                return addressBar;
            }
            set { addressBar = value; OnPropertyChanged("Url"); 
                  CommandManager.InvalidateRequerySuggested();
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3849265

复制
相关文章

相似问题

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