wpf - 从函数启用 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 产生影响。
解决方案
创建一个属性
public bool isEnabled
{
get
{
if (_status != 40 && _status != 60)
return false;
else
return true;
}
}
如果您希望您的 UI 动态更新,您将需要在更改时实现INotifyPropertyChanged
并调用PropertyChanged("isEnabled")
_status
推荐阅读
- swift - 连续合并出版商。在简单登录流示例中隔离业务逻辑
- javascript - How to prevent animated div from expanding several times after several clicks
- http - 为什么要使用 multipart 上传图片?
- html - 具有边框倒塌替代方案的砖墙
- android - 如何在android studio中测量延迟、延迟、丢包、带宽、响应时间?
- python - 如何在Jenkins构建python中运行nose2测试
- java - Java 9 模块化与微服务?
- ios - ARKit - [UIView setAnimationsEnabled:] 不支持从 UIView 或子类的后台线程执行任何操作
- ios - 如何将“Int8?”转换为“Int?”?
- cakephp - 向当前控制器添加锚点