在Expression Blend 3中,能否查看数据触发器的效果?

5

Blend支持显示样式资源的图形表示,并允许您选择活动属性/事件触发器以查看或修改。但是,通常会出现由DataTriggers控制的可视元素。是否可以告诉设计师应该考虑DataTrigger“活动”,以便可以在设计师中查看其可视化更改?

例如:

<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为真,并显示适当的样式?
1个回答

2
如果您正在使用 Blend 进行模拟 ViewModel,一个好的技巧是从项目中的单独 XAML 文件加载您的设计时 ViewModel。如果您这样做,您可以轻松地在 Blend 中更改 XAML,并立即看到更改生效。例如,您可以更改模拟 ViewModel 的 XAML 如下:
<AViewModelObject>
  ...
  <AnotherViewModelObject ... IsRandomPropertyActive="true" ... />
  ...
</AViewModelObject>

我不知道任何更简单的方法来实现您所需的功能。

谢谢,我想这是目前解决问题的唯一方法。不确定它是否适用于特定情况,但我会尝试一下。 - jeffora
好主意...希望Blend支持使用DataTriggers...老实说,我真的不明白为什么在这一点上Blend v3或Blend v4没有支持。 - cplotts

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接