gpt4 book ai didi

wpf - WPF 转换器如何在 MVVM 模式中使用?

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

假设我有一个绑定(bind)到 的 View ViewModel A 有一个可观察的集合 客户 .

这种 MVVM 模式的一个优点是我还可以将 View 绑定(bind)到 。 ViewModel B 它用不同的数据填充它。

但是如果在我的 查看转换器转换器 展示我的客户,例如我有一个接受契约(Contract)并返回要显示的适当客户的“ContractToCustomerConverter”。

问题在于转换器 存在于 MVVM 模式之外 因此不知道我的 ViewModel 有另一个客户来源。

  • 有没有办法View 将 ViewModel 传递给 Converter 以便它参与 MVVM 模式提供的解耦?
  • 有没有办法让我以某种方式在我的 ViewModel 中包含转换器以便转换器使用 ViewModel 可用的当前依赖项?
  • 或者只是转换器美化代码隐藏因此未在 MVVM 模式中使用,因此如果您使用的是 MVVM,那么您只需创建自己的“转换器”(ViewModel 类上的方法),它会返回要在查看,而不是使用转换器?

  • (在看到 MVVM Template Toolkit download 附带的 WPF 演示应用程序中使用 Converters 后,我遇到了这些问题,解压后请参阅“Messenger 示例”。)

    最佳答案

    我通常在 MVVM 中根本不使用转换器,除了纯 UI 任务(例如 BooleanToVisibilityConverter)。恕我直言,您应该在 ContractViewModel 中声明 CustomerViewModel 类型的 Customer 属性,而不是使用 ContractToCustomerConverter

    关于wpf - WPF 转换器如何在 MVVM 模式中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007487/

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