如何从其他WPF c#项目的viewModel禁用/启用按钮

问题描述 投票:0回答:1

我是WPF的新手。我有两个WPF C#项目,project1作为project2的引用。现在,project2的视图模型中有一个按钮,基于project2中存在的功能,我想禁用project1的视图模型中存在的按钮。我试过的:

Project2 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中命中。

如果我做错了,如果有人可以帮忙,我会很好。

c# wpf mvvm
1个回答
1
投票
VM_A._isStartEnabled = false;

设置公共字段_isStartEnabled,它不会通过属性代码运行。这是一个很好的例子,说明为什么您应该never在C#中具有公共字段。

VM_A.isStartEnabled = false;

将工作(也遵循标准的C#命名,应称为“ IsStartEnabled”)

© www.soinside.com 2019 - 2024. All rights reserved.