我知道ContextMenu
s 不是可视化树的一部分,但我一直在尝试将Visibility
a 的属性绑定ContextMenu
到其 parent 上的属性UserControl
。到目前为止,我已经尝试过祖先绑定并尝试了转换,但目前看来远程可行的唯一方法是使用 aMultiValueConverter
和反射在UserControl
. 即使那样,我也不确定它会起作用。
我会以错误的方式解决这个问题吗?
我知道ContextMenu
s 不是可视化树的一部分,但我一直在尝试将Visibility
a 的属性绑定ContextMenu
到其 parent 上的属性UserControl
。到目前为止,我已经尝试过祖先绑定并尝试了转换,但目前看来远程可行的唯一方法是使用 aMultiValueConverter
和反射在UserControl
. 即使那样,我也不确定它会起作用。
我会以错误的方式解决这个问题吗?
上下文菜单仅在您右键单击时可见,因此您不需要设置其可见性。也许您应该使用弹出窗口。
但是,如果你想做一些时髦的绑定,你可以使用来自优秀 josh smith 的element spy来使用元素名称绑定来绑定通常不可能的事物。
我不确定你为什么需要绑定 ContextMenu 的可见性......但无论如何,这是一个应该有效的解决方案:
<ContextMenu Visibility="{Binding PlacementTarget.Visibility, RelativeSource={RelativeSource Self}}" />