如何在 WPF 中为多个窗口使用一个视图模型?我需要仅从一个窗口更新模型并在其他窗口中处理这些更改(例如属性“锁定”)。
我有一个视图模型,其中包含最通用的信息,不仅应该在 A(假设它是“公司”)窗口上使用,而且还应该在 Windows 子窗口 B(假设它是“人”)上使用。因此,“常规”视图模型应由 A 实体确定,但应传递给所有子实体。在 A 窗口上更新此视图模型时 - 我们应该在所有 B 窗口上进行更改。
public partial class A : WindowBase
{
private GeneralViewModel general;
public GeneralViewModel General
{
get
{
return this.general ?? (this.general = new GeneralViewModel ());
}
}
}
public partial class B : WindowBase
{
private GeneralViewModel general;
public GeneralViewModel General
{
get
{
return this.general ?? (this.general = new GeneralViewModel ());
}
}
public B(GeneralViewModel g)
{
this.general = g;
}
}
我希望模型应该只在 A 中更新,而 B 只是显示更改是佣人。如果我传递此代码中显示的模型,或者如果我将“常规”实现为具有 getter 和 setter 更改的属性,则不会应用。
谢谢你的帮助。