【发布时间】:2014-05-23 21:58:42
【问题描述】:
我想使用样式触发器根据某些属性(例如标签)更改停靠面板的外观。这是我的代码:
<DockPanel Grid.Row="0" LastChildFill="True"
Name="MyDockPanel"
Tag="{Binding TagForColor}"
Background="Blue"
Width="300">
<DockPanel.Resources>
<Style TargetType="{x:Type DockPanel}">
<Style.Triggers>
<DataTrigger Binding="{Binding Tag, RelativeSource={RelativeSource Self}}" Value="Alert">
<Setter Property="DockPanel.Background" Value="Red"/>
<Setter Property="DockPanel.Width" Value="100"/>
<Setter Property="TextBlock.FontSize" Value="30"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DockPanel.Resources>
<TextBlock Text="My Text"
DockPanel.Dock="Top"
Name="MyText"
Foreground="White">
</TextBlock>
背景和宽度等属性一旦设置就不会被触发器更新。我验证了触发器已被触发,因为我的文本块的大小确实增加了。
谁能告诉我这种行为背后的原因?
谢谢, RDV
【问题讨论】: