Silverlight 没有 DataTriggers,所以在这种情况下......有条件地将项目的 fontweight 设置为 bool 值的最佳方法是什么?
例如...在 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,并将其用作绑定(bind)的转换器:
<UserControl.Resources>
<local:BoolToFontWeightConverter x:Key="boolToFontWeight"/>
</UserControl.Resources>
...
<TextBlock Text="{Binding Text}" FontWeight="{Binding IsDefault, Converter={StaticResource boolToFontWeight}}">
关于silverlight - 在 Silverlight 中将 FontWeight 绑定(bind)到 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843663/