從WPF切換到Silverlight 4.0後,我陷入了一些非常基本的事情。似乎沒有辦法在我的樣式中使用觸發器。這將如何工作?如何在Silverlight 4.0中使用Style.Triggers?
例如在這裏,我已經創建了一個DataGrid的columnHeader風格我的資源字典內:
<Style x:Key="DataGridColumnHeaderStyle" TargetType="sdk:DataGridColumnHeader" >
<Setter Property="Background" Value="#88800080" />
<Setter Property="Foreground" Value="White" />
<Style.Triggers>
<Trigger Property="SortDirection" Value="{x:Null}">
<Setter Property="Background" Value="{DynamicResource DataGridHeaderBackgroundBrush}" />
<Setter Property="BorderBrush" Value="Transparent" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="SortDirection" Value="{x:Null}" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="{StaticResource DataGridHeaderMouseOverBackgroundBrush}" />
<Setter Property="BorderBrush" Value="{StaticResource DataGridHeaderBorderBrush}" />
</MultiTrigger>
...
一些谷歌的搜索,從2009年年初要求嘗試使用轉換器來代替,但我完全被卡住與此有關。我真的很感激,如果有人能給我一個關於如何去做的暗示。
@Kave - 基本上,是的:-)第一個鏈接顯示了一些簡單的解決方法,但是整體VSM並不像觸發器那麼有趣。 – CodeNaked 2011-04-28 23:11:07
魔獸瘋狂。觸發器是WPF的一個重要組成部分。無法想象沒有他們:)但我沒有選擇,而是擅長 – Houman 2011-04-29 08:42:12