将FontWeight绑定到Silverlight中的布尔值

Silverlight不具备DataTriggers功能,因此在这种情况下……有条件地将项目的字体权重设置为布尔值的最佳方法是什么?

例如……在Silverlight中无法实现以下功能.

<TextBlock Text="{Binding Text}">
    <TextBlock.Triggers>
        <DataTrigger Binding="{Binding IsDefault}" Value="True">
            <Setter Property="FontWeight" Value="Bold"/>
        </DataTrigger>
        <DataTrigger Binding="{Binding IsDefault}" Value="False">
            <Setter Property="FontWeight" Value="normal"/>
        </DataTrigger>
    </TextBlock.Triggers>
</TextBlock>

谢谢!

解决方法

您可以实现一个将bool转换为FontWeight的IValueConverter,并将其用作绑定的转换器:

<UserControl.Resources>
    <local:BoolToFontWeightConverter x:Key="boolToFontWeight"/>
</UserControl.Resources>

...

<TextBlock Text="{Binding Text}" FontWeight="{Binding IsDefault,Converter={StaticResource boolToFontWeight}}">

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...