WPF实现按钮鼠标停留样式的一个坑

弄了个按钮鼠标停留样式,发现把它应用到某些窗体的Button上会发生样式模糊的问题,而其它窗体又不会。

百思不得其解,真是活久见。

后来发现是跟包着Button的容器控件有关,只要是那些会自适应的容器都会引发此问题,如StackPanel,或Docker设了Docker.LastChildFill=true,

并把Button作为最后一个Child。

估计原因是,设了鼠标停留样式的话,当鼠标移到Button上面的时候,为了显示阴影效果,Button会自动调整一下大小,并造成父容器也调整大小,

从而造成抖动,界面看起来就糊了。

解决办法:将父容器换成不会自适应的控件,如Grid,或设Docker.LastChildFill=False。

原文地址:https://www.cnblogs.com/michaelsoft/p/7989115.html