如何在UserControl样式中触发“IsRemoteSession”或“IsSoftwareRendering”?

时间:2011-08-03 11:51:06

标签: wpf xaml styles

我们正在使用.NET 4开发用户控件 - WPF。 我们有很多客户在远程会话中运行我们的应用程序(例如终端服务器,Citriy等)。

许多性能问题已经解决。目前,我正在寻找一种方法来禁用样式和控件模板中的动画,具体取决于IsRemoteSession和/或IsSoftwareRendering的条件。我会在不写一行代码的情况下这样做。

我很确定我几个月前读过一篇博客文章,其中描述了使用xaml中的触发器实现这一目的的方法,但我再也找不到了。

任何人都有任何提示....?

1 个答案:

答案 0 :(得分:0)

我这样做的方法是将动画放在触发器中。代码看起来像这样:

<Window.Resources>
    <Style TargetType="{x:Type WhateverYourTypeIs}">
    <Style.Triggers>
        <!-- Here I assume your whatever holds your IsRemoteSession property is your DataContext -->
        <!-- Otherwise, change your binding -->
        <DataTrigger Binding="{Binding Path=IsRemoteSession}"
                     Value="False">
            <!-- Here you use Setters to add your animations -->
        </DataTrigger>
    </Style.Triggers>
</Window.Resources>