Thông thường khi bạn muốn điều khiển dữ liệu 'cập nhật', bạn sử dụng sự kiện "PropertyChanged" để báo hiệu giao diện mà dữ liệu đã thay đổi sau hậu trường.Ràng buộc cập nhật WPF khi liên kết trực tiếp với DataContext w/Converter
Ví dụ, bạn có thể có một TextBlock được ràng buộc với DataContext với một tài sản "DisplayText"
<TextBlock Text="{Binding Path=DisplayText}"/>
Từ đây, nếu DataContext tăng sự kiện PropertyChanged với PropertyName "DisplayText", sau đó văn bản của textblock này sẽ cập nhật (giả sử bạn không thay đổi Chế độ ràng buộc).
Tuy nhiên, tôi có một ràng buộc phức tạp hơn, sử dụng nhiều thuộc tính ngoài nội dung dữ liệu để xác định giao diện cuối cùng của điều khiển. Để thực hiện điều này, tôi liên kết trực tiếp với datacontext và sử dụng một trình biến đổi. Trong trường hợp này tôi đang làm việc với một nguồn hình ảnh.
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
Như bạn thấy, tôi sử dụng một {Binding} không có con đường để ràng buộc trực tiếp đến DataContext, và tôi sử dụng một ImageConverter để chọn hình ảnh tôi đang tìm kiếm. Nhưng bây giờ tôi không có cách nào (mà tôi biết) để nói rằng ràng buộc để cập nhật. Tôi đã cố gắng nâng cao sự kiện được thay đổi với "." như tên đặc tính, không hoạt động.
Điều này có khả thi không? Tôi có phải quấn logic chuyển đổi thành một thuộc tính mà ràng buộc có thể gắn vào, hoặc có cách nào để nói ràng buộc làm mới (mà không làm mới ràng buộc ràng buộc) không?
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn! -Adam
CẢM ƠN BẠN! Tôi đã điên tìm kiếm điều này và sắp hỏi nó khi nó xuất hiện trên những gợi ý của tôi – HDD