silverlight - 在 Silverlight 中将 FontWeight 绑定(bind)到 bool 值

标签 silverlight data-binding xaml triggers datatrigger

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/

相关文章:

c# - WPF 更改聚焦的文本框背景颜色

silverlight - 如何在 WP7 中共享样式?

silverlight - Silverlight 库的多个实例

silverlight - Silverlight 是否支持 StringFormat 绑定(bind)?

c# - 绑定(bind)文本框

.net - 在 WPF 中打开模式对话框时的灰色主窗口

c# - 拖放需要数学修复

c# - Windows Phone 7 上我的 UserControl 中 XAML 中的自定义事件

android - 如何使用 mvvm 模式显示 alertDialog Box

c# - 页面加载时 MVVM 加载模型数据