WPF如何禁用DropShadowEffect

时间:2012-05-24 14:42:46

标签: wpf

禁用DropShadowEffect的最佳方法是什么,例如,如果您知道自己正在远程会话中运行?

            

我可以考虑将颜色设置为透明,将模糊半径设置为0,或将不透明度设置为零,但不确定这些选择是否有任何差异,或者是否有更好的解决方案。

2 个答案:

答案 0 :(得分:10)

Style triggers + RenderCapability Tiers就是您所需要的。有一些更友好的方式返回渲染层功能,但总体思路就在那里。使用终端服务时,或者没有硬件效果的渲染功能时,可以使用样式触发器删除效果。

<Style>
  <Style.Triggers>
    <Trigger Property="Perf:RenderCapabilityWrapper.Tier" Value="0">
      <Setter Property="Effect" Value="{x:Null}"/>
    </Trigger> 
    <Trigger Property="Perf:RenderCapabilityWrapper.Tier" Value="1">
      <Setter Property="Effect" Value="{StaticResource performanceShadow}"/>
    </Trigger> 
    <Trigger Property="Perf:RenderCapabilityWrapper.Tier" Value="2">
      <Setter Property="Effect" Value="{StaticResource qualityShadow}"/>
    </Trigger> 
  </Style.Triggers>
</Style>

答案 1 :(得分:1)

您可以将控件设置为首先不使用效果,而不是禁用DropShadowEffect。