首页 > 解决方案 > 从函数启用 XAML 数据绑定 | 有条件地锁定视图

问题描述

Richt 现在我正在检查是否应启用视图中的控件的代码:

public void Lock() {
    if (_status != 40 && _status != 60)
    {
        txt1.isEnabled = false;
        txt2.isEnabled = false;
        txt3.isEnabled = false;
    }
}

但是,对于有很多控件的页面来说,这很麻烦。是否可以通过数据绑定实现相同的目标?像这样的东西:

public void isEnabled() {
    if (_status != 40 && _status != 60)
        return false;
    else
        return true;
}

然后将控件绑定到这个函数?(有时启用/禁用视图的条件并不像示例中那样简单。应该可以做相当复杂的条件。)

这个程序是用 Xamarin 开发的。它不应该对 WPF 产生影响。

标签: wpfxamlxamarindata-binding

解决方案


创建一个属性

public bool isEnabled 
{
    get 
    {
      if (_status != 40 && _status != 60)
          return false;
      else
          return true;
    }
}

如果您希望您的 UI 动态更新,您将需要在更改时实现INotifyPropertyChanged并调用PropertyChanged("isEnabled")_status


推荐阅读