WPF Border需要设置背景颜色才绘制

123 阅读1分钟

情况:有时候重写样式时,会发现点击空白位置无法触发控件上绑定的事件。

这有可能是因为你写的样式里有些Border或者容器控件、布局控件没设置背景颜色没有绘制出来造成的。

没绘制出来的话就会点击到下一层控件上去。

例子:

先设置事件:

read-normal-img

1、不设置颜色:

read-normal-img

read-normal-img

点击空白地方,由于这Border没绘制出来触发的是下一层控件listbox。当然点击Textblock和边框还是能正确触发Button事件。

2、设置背景颜色:

read-normal-img

read-normal-img

设置了背景颜色后Border才绘制出来,事件正确地被触发。你可以设置白色或其他颜色,也可以直接设置“透明”。