1

可能重复:
WPF:将布尔值显示为“是”/“否”

我正在 VB.Net 2010 (.NET 4.0) 中编写一个 WPF 程序,该程序对一个简单类使用数据绑定,该类是我编写的另一个简单类的 ObservableCollection。到目前为止,我有一个显示信息的 DataGrid,我可以根据需要添加和删除项目,但我似乎遇到了一个相当基本的概念:

除了各种 DataGrid 列允许的默认行为之外,我如何以某种方式显示数据?

我的原始类中有一个名为“reversed”的布尔值,我们称之为“x”。我希望显示“x”的 ObservableCollection 的 DataGrid 在 Reversed 列下显示“是”或“否”,而不是选中或未选中的复选框(DataGridCheckBoxColumn)。

有什么好方法可以做到这一点还是我在浪费时间?谢谢!

4

2 回答 2

3
[ValueConversion(typeof(bool), typeof(string))]
public class FlopBoolean : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (bool)value return "yes"; 
        return "no";
    }
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {

       return true;
    }
}
于 2012-05-09T00:16:18.727 回答
0

如果您有一个绑定到 DataView 或 DataGridView 的对象集合,则可以创建一个属性并在数据网格中显示该属性。例子:

Public Class Example
     <Browsable(False)> Public Property isLinked As Boolean

     <DisplayName("Linked")> Public ReadOnly Property LinkedDisplay As String
        Get
            If isLinked Then
                Return "Yes"
            Else
                Return "No"
            End If
        End Get
    End Property
End Class

它的缺点是您将无法在 datagridview 上编辑此列。

于 2012-05-09T11:38:34.940 回答