gpt4 book ai didi

wpf - 如何通过两个 View 模型传递对象? Wpf MVVM

转载 作者:行者123 更新时间:2023-12-03 10:50:13 25 4
gpt4 key购买 nike

我有一个主视图,其中您有一个对象,您可以更改该对象的属性。但是,当您单击按钮时,我会弹出一个窗口:高级属性。但是您在弹出窗口中所做的这些更改也必须在主视图的对象中完成。

所以我也为弹出窗口实现了一个 View 模型。我可以在这里放一些代码,但这没什么用,因为我没有任何东西,只有 2 个 View 模型与一些文本框绑定(bind)来更改该对象的属性。所以这两个 View 模型不能在同一个对象上一起工作(这是我认为应该做的)。

弹出窗口很难到达您在主视图中处理的对象。在某种程度上,我应该能够将您在弹出窗口中所做的更改传递给主视图(传递给同一个对象)。有人知道怎么做吗?我正在寻找这个很长一段时间,但我真的不知道解决或解决我的问题:( ..

最佳答案

有几种方法可以实现这一点,具体取决于您的架构。例如,如果您使用的是富域模型,您可能会直接绑定(bind)到 View 模型上公开的模型属性。在这种情况下,当您调用高级属性窗口时,您可以将现有模型的实例传递给该 View 模型。高级属性窗口中的更改将绑定(bind)到在原始窗口中打开的业务对象的同一实例。

或者,如果您使用的是不将模型直接暴露给 View 的贫血域模型,您仍然可以将模型的相同实例传递给新窗口,但使用中介模式(或任何其他标准的接口(interface)) View 模型通信技术)在高级窗口关闭时通知原始窗口。在这种情况下,高级窗口将是发布者,而原始窗口是订阅者。

收到通知后,原始窗口可以使其所有 View 模型绑定(bind)无效,以便适本地更新 UI。

关于wpf - 如何通过两个 View 模型传递对象? Wpf MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6661956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com