gpt4 book ai didi

c# - MVVM:如何从 View 模型调用 View 方法?

转载 作者:太空宇宙 更新时间:2023-11-03 20:03:50 24 4
gpt4 key购买 nike

我是 MVVM 的新手,很抱歉问了一个简单的问题。但是,我无法理解要使用 MVVVM 中的哪种机制(如果有任何后果,我正在使用 MVVMLight)来对以下简单场景进行编程:

我有文本框 TB,用户可以在其中填写 URL。比我有一个按钮 B 和 webview WV。如果用户点击按钮,应用程序应该从 TB 中获取文本并将其显示在 WV 中。

我知道我可以在 View 模型中创建一个属性并将其绑定(bind)到 TB.Text。我可能也明白我应该创建将从按钮 B 中获取的命令,但是我应该在命令中做什么。当我没有引用 WV 时,我如何调用 WV.navigate(url)。这应该通过我没有正确理解的行为来解决吗?执行此操作的最佳方法是什么?

最佳答案

你应该使用信使模式来解决这个问题:

这个想法是 View 可以注册特定的消息类(在这种情况下例如一个自己的 NavigateToUriMessage 类)并且 View 模型可以将这个消息类的实例发送给任何收听消息的人消息类型。在命令实现中,您只需发送此消息, View 接收消息并更改 Web View 的 URI。

顺便说一句:这种信使模式的想法是您可以更好地编写单元测试并将 View 模型用于其他平台(对消息的 react 可能不同)。

关于c# - MVVM:如何从 View 模型调用 View 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25310867/

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