场景:我有一个ListBox,ListBoxItems有一个DataTemplate.我想要做的是在DataTemplate中放置一个ContextMenu.问题是我希望这个ContextMenu ItemsSource根据窗口中的某些属性而不同.我最初的想法是,我可以将ItemsSource绑定到窗口中的Property,并返回ItemsSource; 但是,我似乎无法正确绑定此属性.我相信这是因为我在DataTemplate中,因此DataContext(我相信这是正确的词)是ListBoxItem而不是窗口.我怎样才能将DataTemplate中的ContextMenu绑定到DataTemplate之外的Property.
您可以使用RelativeSource FindAncestor语法从窗口获取DataContext
不完全确定,但绑定是正确的...如果您的DataContext在另一个对象类型上,您只需要更改AncestorType(例如,通过UserControl).