我正在使用 Silverlight 5 并尝试对视图模型进行一些样式绑定。我遇到了一个问题,我的绑定在属性更改时没有设置新值。但这只会发生在默认样式上,如果我使用一个键,那么它可以正常工作。这里有些例子。
这有效:
<Style x:Key="HeaderTextStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding ForegroundBrush, Source={StaticResource Theme}}"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Margin" Value="0,15,0,4"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
这不起作用:
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding ForegroundBrush, Source={StaticResource Theme}}"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Margin" Value="0,15,0,4"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
在第一个示例中,当调用 PropertyChanged 事件时,它将前景色重新绑定到正确的值。在第二个示例中,它不会重新绑定。
有任何想法吗?