多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
~~~ <!--<Border.Effect> ~~~ ~~~ <DropShadowEffect Direction="180" BlurRadius="1" ShadowDepth="0.5" Opacity="0.2"/> ~~~ ~~~ </Border.Effect>--> ~~~ ~~~ ~~~ ~~~ 我们项目中对各个系统控件都进行了自定义外观, 比如通过Style。 ~~~ ~~~ 现象:但是程序实际运行中出现了很诡异的问题, 几个下拉框在屏幕的特定位置会抖动, 具体就是在UI被发大100倍左右明显看到控件的外观有部分上下移动1像素。 ~~~ ~~~ 具体分析:经过调查, 发现和Trigger或者VisualState都没有关系, 而是下拉框的右边的ToggleButton的Template里用了DropShadowEffect特效。 应该是控件的父容器(比如grid)的高宽和控件本身的位置有关, 导致控件在放置自己位置时差1px(相对屏幕坐标),系统处理此情况会导致特效抖动。 ~~~ ~~~ 解决方法:去掉DropShadowEffect, 或者对控件的UseLayoutRounding和SnapsToDevicePixels进行设置, 或者手动放置控件使其位置相对屏幕坐标为整数。 ~~~