Wpf 是否可以在Expression Blend 3中查看设计中数据触发器的效果?

Wpf 是否可以在Expression Blend 3中查看设计中数据触发器的效果?,wpf,xaml,expression-blend,datatrigger,Wpf,Xaml,Expression Blend,Datatrigger,Blend支持显示样式资源的图形表示,并允许您选择要查看或修改的活动特性/事件触发器。但是,由DataTriggers控制可视元素是常见的情况。是否有可能告诉设计者它应该考虑一个DATAGRIGER“Active”,以便在设计器中查看它的视觉变化? 例如: <Style x:Key="MyBorder" TargetType="Border"> <Setter Property="CornerRadius" Value="5" /> <Style.T

Blend支持显示样式资源的图形表示,并允许您选择要查看或修改的活动特性/事件触发器。但是,由DataTriggers控制可视元素是常见的情况。是否有可能告诉设计者它应该考虑一个DATAGRIGER“Active”,以便在设计器中查看它的视觉变化?

例如:

<Style x:Key="MyBorder" TargetType="Border">
    <Setter Property="CornerRadius" Value="5" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding IsRandomPropertyActive}" Value="True">
            <Setter Property="Background">
                <Setter.Value>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                        <GradientStop Color="#FFFF8935" Offset="0" />
                        <GradientStop Color="#FFFF610C" Offset="1" />
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
        </DataTrigger>
    </Style.Triggers>
</Style>


在设计器中,这只是显示一个空框,因为默认样式未定义任何特定的视觉特性。还有什么方法可以告诉设计师,我希望它假定IsRandomPropertyActive为真,并显示适当的样式吗?

如果您使用混合的模拟视图模型,一个很好的技巧是从项目中的单独XAML文件加载设计时视图模型。如果这样做,您可以轻松地更改XAML内部混合,并立即看到更改生效。例如,您可以将模拟ViewModel的XAML更改为:

<AViewModelObject>
  ...
  <AnotherViewModelObject ... IsRandomPropertyActive="true" ... />
  ...
</AViewModelObject>

...
...

我不知道有什么更简单的方法可以实现您想要的功能。

谢谢,我想这是目前解决这个问题的唯一方法。不确定这是否适合具体情况,但我会给它一个很好的想法。。。希望Blend支持使用DataTriggers。。。我真的不明白为什么Blend v3或Blend v4在这一点上没有。