Tôi đã được chơi đùa với WPF cho khá trong một giờ, nhưng lần đầu tiên ngày hôm nay, tôi cần phải làm tổ một MultiBinding
bên khác, một cái gì đó như:Nested MultiBinding (s)
<MultiBinding>
<Binding />
<MultiBinding>
<Binding />
<Binding />
</MultiBinding>
</MultiBinding>
tôi nhận được một ngoại lệ đó chỉ ra rằng không được phép bởi khuôn khổ:
XamlParseException là unhandled: Thêm giá trị vào bộ sưu tập của loại 'System.Collections.ObjectModel.Collection (System.Windows.Data.BindingBase)' ném một ngoại lệ.
Các InnerException
là rõ ràng hơn:
BindingCollection không hỗ trợ các mặt hàng loại MultiBinding. Chỉ cho phép ràng buộc.
Vì vậy, khai thác web để biết thêm thông tin, tôi tình cờ gặp this Microsoft Connect issue đó chính xác là vấn đề của tôi.
Cảm ơn bạn đã phản hồi. WPF không hỗ trợ điều này ngày hôm nay. Tính năng này đã được yêu cầu trong nhiều năm (gần đây nhất là vào đầu tháng này - xem https://connect.microsoft.com/WPF/feedback/details/650164/nested-multibinding). Chúng tôi sẽ tiếp tục xem xét điều này cho các bản phát hành trong tương lai.
Ngay bây giờ, tôi đã làm cho hòa bình của mình rằng tôi sẽ không dễ dàng. Tôi vẫn cần điều này, làm cách nào tôi có thể lồng ghép MultiBindings?
Bạn đang cố gắng làm gì, bạn muốn lồng ghép nhiều nhánh? –
Tôi đang chuyển đổi các giá trị boolean với các thứ tự ưu tiên phức tạp và trong khi một số trong chúng đã là boolean, một số khác cần chuyển đổi đầu tiên và do đó chúng được nhúng vào trong 'IMultiValueConverter' khác. –
Nếu các MultiValueConverters khác của bạn không có nhiều hơn hai giá trị đầu vào, bạn có thể sử dụng công cụ chuyển đổi có tham số thay thế ... hoặc bạn có thể sử dụng trình chuyển đổi có tham số phức tạp để nhập nhiều giá trị, đó là một chút công việc lừa. Nếu điều đó nghe có vẻ khả thi tôi có thể gửi một mẫu? –