2010-02-05 19 views
10

Câu hỏi: Làm thế nào bạn có thể truyền một thể hiện của một đối tượng từ mô hình khung nhìn đến một trình chuyển đổi cùng với giá trị được chuyển đổi thành một trình biến đổi?Truyền nhiều hơn 1 đối số cho một trình biến đổi


Thông tin: Tôi đang làm việc trên chương trình kiểm kê cho những người ở nhà máy nhận hàng đến. Trong khi nhận được một lô hàng, họ sẽ đánh dấu ai là công ty vận chuyển và ai là người lái xe. Để làm điều này, tôi muốn thiết lập một cặp hộp tổ hợp. Khi họ chọn hộp kết hợp người gửi hàng và chọn người gửi, hộp kết hợp trình điều khiển sẽ phản ánh thay đổi này.

Kế hoạch của tôi là có một danh sách các chủ hàng (có danh sách các trình điều khiển) trong ShipmentViewModel của tôi mà hộp tổ hợp liên kết gửi đến. Danh sách các chủ hàng này chỉ là danh sách GUID mà tôi kéo lên từ cơ sở dữ liệu. người gửi hàng của lô hàng sẽ có một tài sản riêng cho người gửi hàng được chọn cũng như người lái xe được chọn.

Điều tôi muốn làm là chuyển trường hợp của danh sách người gửi đến công cụ chuyển đổi cùng với GUID của người gửi hàng (Gotten từ ShipmentVM). Bộ chuyển đổi so sánh GUID với danh sách các chủ hàng và trở về hộp kết hợp một sự khởi tạo của ShipperVM. hộp combo trình điều khiển là ràng buộc với danh sách các trình điều khiển của ShipperVM. Vượt qua danh sách này cùng với GUID của trình điều khiển (Cũng nhận được từ ShipmentVM) cho một bộ chuyển đổi khác trả về tên của tài xế.

Tôi đang lập trình trong Visual Basic và XAML theo lược đồ M-V-VM.

P.S. Nói "Bạn không thể chuyển nhiều hơn 1 đối số cho trình chuyển đổi". là một phản ứng hoàn toàn hợp pháp. Tôi chỉ cần xác nhận. Tôi bắt đầu nghĩ rằng đây là trường hợp ...

Trả lời

15

Nếu bạn cần chuyển nhiều "thứ" cho trình chuyển đổi, điều bạn thực sự muốn là MultiValueConverter, có thể chấp nhận số giá trị đầu vào N.

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

+0

sửa answer-- –

+0

tôi mất kiên nhẫn chờ đợi một phản ứng vì vậy tôi thực sự quyết định đi về những điều một cách khác nhau. Dù sao cũng cảm ơn bạn! Nếu tôi đã đợi tôi chắc chắn đây là câu trả lời đúng. – Narcolapser

Các vấn đề liên quan