2010-02-05 22 views
10

问题:如何将视图模型中的对象实例与要转换为转换器的值一起传递给转换器?向转换器传递多于一个参数


信息:我正在为我们的工厂车间里的人接收来货。在收到货物时,他们会记下货运公司是谁以及司机是谁。要做到这一点,我想建立一对组合框。当他们选择托运人组合框并选择托运人时,驱动程序组合框将反映此更改。

我的计划是在托运人组合框绑定的ShipmentViewModel中有一个托运人列表(其中有一列驱动程序)。此托运人清单仅是我从数据库中提取的GUID清单。该货件的托运人将为选择的托运人以及选定的驱动程序拥有一个单独的财产。

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

我正在根据M-V-VM架构在Visual Basic和XAML中编程。

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

回答

15

如果您需要将多个“事物”传递给转换器,您实际需要的是MultiValueConverter,它可以接受N个输入值。

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

+0

纠正answer-- – 2010-02-13 09:13:23

+0

我等得不耐烦等待响应,所以其实我决定去事以不同的方式。不管怎么说,还是要谢谢你!如果我等了,我相信这是正确的答案。 – Narcolapser 2010-02-15 18:19:04