2013-04-23 70 views
0

我有一组样式绑定到viewmodel。这适用于背景和前景。我现在想要绑定字体大小。我可以使绑定工作,但是当我更改该值并为该属性调用PropertyChanged时,它不会获得新值。有任何想法吗?在Silverlight样式中绑定FontSize风格不变

sample.xaml

<Style x:Key="ApplicationNameStyle" TargetType="TextBlock"> 
    <Setter Property="Foreground" Value="{StaticResource NavigationForegroundColorBrush}"/> 
    <Setter Property="FontSize" Value="{Binding FontSize12, Source={StaticResource Sampe}}"/> 
    <Setter Property="FontWeight" Value="Bold"/> 
    <Setter Property="Margin" Value="0,2,0,0"/> 
    <Setter Property="VerticalAlignment" Value="Center"/> 
    <Setter Property="Effect"> 
     <Setter.Value> 
      <DropShadowEffect BlurRadius="10" Opacity="0.25" ShadowDepth="0"/> 
     </Setter.Value> 
    </Setter> 
</Style> 

sampleviewmodel.cs

public Double FontSize12 
{ 
    get 
    { 
     return _fontSize12; 
    } 
    set 
    { 
     _fontSize12 = value; 
     if (PropertyChanged != null) 
      PropertyChanged(this, new PropertyChangedEventArgs("FontSize12")); 
    } 
} 
+0

对不起,我无法重现问题。我使用你的样式设置了一个示例项目,添加了一个示例视图模型对象,并添加了一个TextBlock,使用你的样式和一个按钮,当我点击它时,在视图模型对象中的字体大小加2。这表现如预期:每次点击按钮时,字体变得越来越大。你试图设置字体大小的值是什么? – 2013-04-23 21:01:14

回答

1

你可以尝试设置你的绑定Mode=TwoWay。这会使对象上的任何更改都反映在UI上。

+0

谢谢你照顾它。 – doclove 2013-04-24 12:34:17