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

4

1 回答 1

2

如果您在 Blend 中使用模拟 ViewModel,一个不错的技巧是从项目中的单独 XAML 文件加载您的设计时 ViewModel。如果您这样做,您可以轻松更改 Blend 中的 XAML,并立即看到更改生效。例如,您可以将模拟 ViewModel 的 XAML 更改为:

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

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

于 2010-01-13T01:27:42.787 回答