Tôi có một kịch bản mà tôi có một điều khiển WPF TreeView có một HierarchicalDataTemplate
cho các mục của nó. Bây giờ bên trong số HierarchicalDataTemplate
, tôi có một số Label
và Label
có một số ContextMenu
với menuitem cho Delete
. Các menuitem xóa được ràng buộc với một lệnh gọi là DeleteCommand
là một phần của lớp đã được thiết lập như là DataType
của HierarchicalDataTemplate
.CommandParameters trong ContextMenu trong WPF
Bây giờ, tôi muốn vượt qua TreeView
kiểm soát trong CommandParameters
của của ContextMenu Delete
menuitem của DeleteCommand
vì vậy mà tôi có thể xử lý việc lựa chọn các TreeViewItems về việc xóa các mục đang được chọn.
Nhưng nếu tôi ràng buộc CommandParameters
làm {Binding ElementName=TreeViewName}
hoặc bất kỳ điều gì cho vấn đề đó, nó luôn luôn là không trừ khi phần tử được liên kết là thuộc tính trong DataContext
.
Bất cứ ai có thể giúp tôi giải pháp bởi vì tôi nghĩ rằng, tôi đã thử tất cả những điều có thể như RelativeSource và AncestorType vv nhưng nó luôn luôn rỗng. Đối với tôi, nó trông giống như một giới hạn hoặc một lỗi trong khung công tác.
Way dễ dàng: –
JoanComasFdz
@JoanComas: sau khi thử tất cả những người khác nhưng không thành công (và cũng không hiểu những gì nó có nghĩa là tất cả với FindAncestors, vv), cách dễ dàng của bạn hoạt động hoàn hảo! Cảm ơn. – joedotnot
Nhận xét của @JoanComasFdz thực sự hữu ích. Tôi có thể áp dụng 'CommandParameter =" {Binding} "' một cách đơn giản. – Youngjae