当值为null时,如何在xaml中为绑定属性创建自定义函数?

时间:2012-03-14 14:22:10

标签: c# wpf xaml

如果值为null,我想显示另一个值并显示另一个labeltext。如何在不更改底层数据层的情况下在WPF / XAML中执行此操作?

// Some pseudo-code 
      if a != null 
        my label = a 
        my value = a 
        else 
        my label = b 
        my value = b 
<TextBlock Grid.Column="7" Margin="0" Grid.Row="0" Grid.RowSpan="1" TextWrapping="Wrap" Text="my label"
        HorizontalAlignment="Right" FontWeight="Normal" VerticalAlignment="Center" FontSize="13.333" />

<TextBlock Grid.Column="8" Margin="5,-0.002,0,0" Grid.Row="0" Grid.RowSpan="1" TextWrapping="Wrap" Text="my value"
        HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="13.333" FontWeight="Bold" />

1 个答案:

答案 0 :(得分:2)

您需要使用binding converters

绑定转换器在绑定机制将其分配给控件/属性之前接收必须绑定的值。在该类的函数中,您可以在实际模型值(例如)和UI上显示的值之间进行转换/转换。主要是转换器用于在不同的类型之间进行转换:在模型上,您在ui上false应该具有red 颜色。因此,您应该使用它成功地实现目标。