c# - 如何从不同 WPF c# 项目的 viewModel 禁用/启用按钮
问题描述
我是 WPF 的新手。我有两个 WPF C# 项目,project1 作为 project2 的参考。现在 project2 的视图模型中有一个按钮,基于 project2 中存在的功能,我想禁用 project1 的视图模型中存在的按钮。我尝试了什么:
项目2 ViewModelA:
button Enability
public bool _isStartEnabled = true;
public bool isStartEnabled
{
get { return _isStartEnabled; }
set
{
_isStartEnabled = value; RaisePropertyChanged("isStartEnabled");
}
}
然后在那之后:project1 ViewModelB:
在 project1 中添加 project2 的依赖后,制作 ViewModelA 的对象
ViewModelA VM_A;
public void funcA(){
VM_A._isStartEnabled = false;
}
但是当我放置断点时,_isStartEnabled 方法没有在 ViewModelA 中命中。
我哪里出错了,如果有人能帮忙解决,我会很好。
解决方案
VM_A._isStartEnabled = false;
设置公共字段_isStartEnabled,它不贯穿属性代码。这是一个很好的例子,说明了为什么在 C# 中永远不应该有公共字段。
VM_A.isStartEnabled = false;
将工作(也遵循标准 C# 命名,它应该被称为“IsStartEnabled”)
推荐阅读
- git - git describe --tags 输出附加信息
- r - R中的二阶多项式和线性预测
- python - 在字典列表中创建字典
- amazon-cognito - 为什么
.auth.us-east-1.amazoncognito.com 给了我一个空白页? - css - 在图像上方彼此并排显示 JQuery Mobile 图标
- git - 如何恢复 GitLab 分支中的更改
- html - 如何在 Outlook 正文中格式化范围值金额
- xslt - 创建标题/详细信息 XML 时如何在 XSLT 中排序/选择不同的
- java - 尝试处理网格视图中的视图点击
- sql - 每个月有条件地选择一行 - SQL Server