0

我有一个布尔变量 CanSave 和一个名为 Selected 的对象。有时 Selected 是空的,所以当这种情况发生时我需要一些文本框来禁用。这是我的代码:

    private MyObject _selected;
    public MyObject Selected
    {
        get { return _selected; }
        set { 
            if (_selected != value) 
            { 
                _selected = value;
                CanSave = Selected != null;
                OnPropertyChanged("Selected");
            } 
        }
    }

    private bool canSave;
    public bool CanSave
    {
        get { return canSave; }
        set { if (canSave != value)
        {
            canSave = value;
            OnPropertyChanged("CanSave");
        } }
    }

我尝试了很多东西,我什至绑定到一个标签,并且标签确实响应了属性更改。

        txt_descripcion.DataBindings.Add(new Binding("Enabled", this, "CanSave")); //this doesn't work
        label8.DataBindings.Add(new Binding("Text", this, "CanSave")); //this works

任何指南都会很棒,在此先感谢!

4

1 回答 1

0

正如@Igby Largeman 所说,我阅读了相关代码并思考了他实际上是如何使其工作的,并在代码中的某个地方找到了我清除控件中所有绑定的地方。我已经好几个星期没有在这段代码中工作了,所以我忘记了这件事,谢谢 Igby。

于 2013-07-05T16:53:00.650 回答