也许我有一个 Post-Ballmer-Peak Moment . 我希望有人能帮助指出对我来说显而易见的事情。
为什么此代码会在右键单击时生成上下文菜单:
<Canvas Background="Transparent">
<Canvas.ContextMenu>
<ContextMenu>
<TextBlock>WTF?</TextBlock>
</ContextMenu>
</Canvas.ContextMenu>
</Canvas>
并且此代码不会生成上下文菜单:
<Canvas>
<Canvas.ContextMenu>
<ContextMenu>
<TextBlock>WTF?</TextBlock>
</ContextMenu>
</Canvas.ContextMenu>
</Canvas>
最佳答案
这是因为 Transparent
画笔允许一个区域被点击,从而接收和响应鼠标点击,而默认的 null
画笔则不允许。换句话说,没有定义任何画笔,该区域变成“空心”并且点击通过;定义了一个画笔(即使是透明的),它们是“实心的”并且可以收到点击。
在 WPF brushes 上查看这篇有用的文章了解更多信息。
关于c# - 为什么此 WPF 代码不生成上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/871617/