使用RelativeSource和AncestorType进行WPF数据绑定

我试图让一些绑定代码工作。 基本上我想将网格上下文菜单元素的IsEnabled属性与网格中选定行的值绑定。

我有这个工作:

     

但是我想这样做而且它不起作用。 它没有错误,但只是不禁用菜单项。 知道为什么吗?

       

尝试使用ElementName binding而不是Ancestor bindingContextMenu不是Grid的可视化树的一部分。

– 编辑 –

啊,我错了。 ElementName绑定(下面给出的示例)也不适用于ContextMenu。 它不是DataGrid可视化树的一部分。 这就是为什么它无法看到DataGrid因此无法引用它。 您将不得不使用第一种方法。

你不想这样做的任何理由?

       

如果在调试模式下查看Visual Studio中的输出窗口,您将获得绑定错误的详细信息 – 这可能会对您的问题有所了解。