昨天我在这里问,视图模型如何相互交流。因为我的程序是设计的。一个视图模型包含一个属性。以一个名为DirectoryPath
的属性为例,在另一个View模型中,我想访问DirectoryPath
下面是链接
Prism Event Aggregator - method cannot be read
然后出现另一个问题。评论说。我做错了。
假设我有一个文本框。
然后,我想创建一个DirectoryPath
字符串属性,该属性将被绑定到text属性中。那我应该把这个财产放在哪里?
我该如何访问呢?在我的视图模型中,我有一个命令。用户单击按钮时如何设置DirectoryPath
的文本?
这个月我花在做MVVM和WPF上的所有内容都错了吗?我想解决这个问题。
我的ViewModel的示例代码
class ViewModel : INotifyPropertyChanged
{
private string _DirectoryPath;
public string DirectoryPath
{
get { return _DirectoryPath; }
set
{
_DirectoryPath = value;
OnPropertyChanged("DirectoryPath");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string name)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
}
答案 0 :(得分:0)
然后,我想创建一个DirectoryPath字符串属性,该属性将被绑定到text属性中。那我应该把这个财产放在哪里?
您的财产所在的地方对我而言似乎正确。
在我的视图模型中,我有一个命令。用户单击按钮时如何设置DirectoryPath的文本?
您将委托添加到命令中,在委托中您将DirectoryPath
变量设置为所需的值。
public Command Something => new Command (x => DirectoryPath = 'this is you value');