2010-01-13 52 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

相關問題