2012-10-29 169 views
0

我想這種方式綁定按鈕的上下文菜單:如何綁定WPF ContextMenu ItemsSource?

<Button.ContextMenu> 
    <ContextMenu ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=UserControl}, Path=Values}"/> 
</Button.ContextMenu> 

(用戶控件具有值屬性)。

爲什麼不能正常工作? 但是,當我把這個綁定到其他控制像<TextBlock Text='{Binding ...}'/>它工作正常。

另一個問題,我如何調試WPF中的綁定問題?

回答

2

它不起作用,因爲ContextMenu不是視覺或邏輯樹的一部分,所以它不像其他控件一樣繼承DataContext。它不是你控制的孩子。

你可以做的是使用ContextMenu的PlacementTarget屬性來獲取ContextMenu所連接的父元素並從那裏開始。

相關問題