2010-01-13 32 views
5

Blend支持显示样式资源的图形表示,并允许您选择要查看或修改的活动属性/事件触发器。但是,由DataTriggers控制视觉元素是很常见的事情。是否有可能告诉设计师它应该考虑DataTrigger的“主动”,以便它的视觉变化可以在设计器中查看?可以在Expression Blend 3中查看设计中的数据触发器效果吗?

实施例:

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

回答

2

如果您在Blend中使用mock ViewModels,一个很好的诀窍是从项目中单独的XAML文件加载您的设计时ViewModels。如果你这样做,你可以很容易地改变Blend中的XAML,并立即看到更改生效。例如,你会改变你的XAML的模拟视图模型说:

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

我不知道有任何简单的方式来实现你想要的功能。

+0

谢谢,我想这是解决此问题的唯一方法。不知道这是否适合具体情况,但我会尝试 – jeffora 2010-01-14 00:36:22

+0

好主意......希望Blend支持DataTriggers的使用...我真的不明白为什么Blend v3或Blend v4不在这一点。 – cplotts 2010-04-12 20:11:54