例如,如果您知道您正在遠程會話中運行,禁用DropShadowEffect的最佳方法是什麼?WPF如何禁用DropShadowEffect
我能想到的顏色透明,模糊半徑爲0,或不透明度設置爲零的,但不知道是否有在這些選擇任何區別,或者如果有一個更好的解決方案。
例如,如果您知道您正在遠程會話中運行,禁用DropShadowEffect的最佳方法是什麼?WPF如何禁用DropShadowEffect
我能想到的顏色透明,模糊半徑爲0,或不透明度設置爲零的,但不知道是否有在這些選擇任何區別,或者如果有一個更好的解決方案。
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>
很好的例子,謝謝。我認爲在GoToMyPC會話中會檢測到硬件功能,對吧? – Dean
@Dean對不起,我沒有GoToMyPC和RenderTierCapability的任何個人經驗,應該很容易測試! – erodewald
我的意思是說_不會在GoToMyPC上檢測到。但是,很容易測試。 – Dean