【问题标题】:Passing more than 1 argument to a converter将超过 1 个参数传递给转换器
【发布时间】:2010-02-05 19:05:33
【问题描述】:

问题:如何将对象的实例从视图模型传递到转换器以及要转换为转换器的值?


信息:我正在为我们工厂车间接收进货的人员制定库存计划。在收到货物时,他们会记下谁是运输公司和谁是司机。为此,我想设置一对组合框。当他们选择托运人组合框并选择托运人时,驱动程序组合框将反映此更改。

我的计划是在我的 ShipmentViewModel 中有一个托运人列表(他们有一个司机列表),托运人组合框绑定到该列表。这个托运人列表只是我从数据库中提取的 GUID 列表。货件的托运人将为选定的托运人以及选定的驱动程序拥有一个单独的属性。

我想做的是将托运人列表的实例与托运人的 GUID 一起传递给转换器(从 ShipmentVM 获得)。转换器将 GUID 与托运人列表进行比较,并将 ShipperVM 的实例返回到组合框。驱动程序组合框绑定到 ShipperVM 的驱动程序列表。将此列表与驱动程序的 GUID(也从 ShipmentVM 获得)一起传递到另一个返回驱动程序名称的转换器。

我正在根据 M-V-VM 架构使用 Visual Basic 和 XAML 进行编程。

附:说“您不能将超过 1 个参数传递给转换器。”是完全合法的回应。我只需要确认。我开始认为是这种情况......

【问题讨论】:

    标签: wpf data-binding converter


    【解决方案1】:

    如果你需要将多个“事物”传递给一个转换器,你真正想要的是一个MultiValueConverter,它可以接受N个输入值。

    http://msdn.microsoft.com/en-us/library/system.windows.data.imultivalueconverter.aspx

    【讨论】:

    • 我迫不及待地等待回复,所以我实际上决定以不同的方式处理事情。不管怎么说,还是要谢谢你!如果我等了,我相信这是正确的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 2011-11-19
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多