Đây là tình huống phổ biến trong các ứng dụng dựa trên XAML (WPF/Silverlight/WinRT).Cách truy cập DataContext của cha mẹ trong Cửa sổ 8 lưu trữ ứng dụng
WPF liên quan liên kết ->WPF Databinding: How do I access the "parent" data context?
RelativeSource
với AncestorType
, và Mode=FindAncestor
thường đến để giải thoát trong WPF.
Cả hai thứ này đều bị thiếu trong API WinRT. Làm thế nào để truy cập vào của phụ huynh (có thể không phải là ngay lập tức), DataContext
?
(Tôi biết TemplateBinding
và ElementBinding
nhưng cả hai đều không phù hợp chủ yếu trong DataTemplate).
Đề nghị tốt, nhưng đây là [ElementBinding] (http://www.rhyous.com/2010/04/13/tutorial-binding-one-element-property-to-another/). Nó không hoạt động bên trong [DataTemplate] (http://sblanco.wordpress.com/2010/01/29/wpf-bind-to-a-parent-datacontext-from-within-a-datatemplate/). Hành vi được đính kèm dường như là cách để đi. – Tilak
Nó hoạt động bên trong DataTemplate - bạn đang ràng buộc với Thẻ của phần tử (parent), có tham chiếu đến DataContext mẹ. Tôi sử dụng tất cả thời gian từ bên trong các phần tử DataTemplate để liên kết với DataContext cấp cao nhất. – LMK
Bạn có thể đơn giản hóa việc này bằng cách xóa Thẻ và chỉ sử dụng dữ liệu văn bản trực tiếp {Binding DataContext.SomeProp, ElementName = gridTop} – oXeNoN