【问题标题】:WPF Datagrid binding to DataTable with complex typeWPF Datagrid 绑定到具有复杂类型的 DataTable
【发布时间】:2010-03-19 16:01:45
【问题描述】:

我有一个包含来自某个模型的数据的类。此类具有元数据以及实际值。

class ServerValue {

    public int SomeId {get;}
    public int SomeOtherId {get;}
    public DateTime LastChanged {get;}

    public object Value {get;set;}

    // this lets me show the value, but how do i update it from the grid?
    public override string ToString(){
        return Value.ToString();
     }
}

现在我还有一个 MyDataTable 类,它派生自具有各种逻辑的 DataTable。它调用服务器,获取一堆 ServerValues 并将它们放入行和列中。

最后我有一个 WPF DataGrid,我绑定到 MyDataTable 并显示数据,因为 DataGrid 在每个 ServerValue 上调用 ToString 并取回显示的值。到目前为止,万岁。

现在,我想要有两种方式的数据绑定,所以网格上的输入被写回 ServerValue。所以我想将网格单元绑定到 ServerValue 的 Value 属性,而不是 ServerValue 本身。

现在 DataGrid 单元格的 ServerValue 只是替换为一个字符串。我可以解决这个问题,但我会先尝试优雅的路线。

所以我在单元格中有一个复杂类型的数据表,我希望双向数据绑定到该类型的特定属性。

这可能吗?我一直在谷歌上搜索,对此我无能为力。

提前致谢,

约翰

【问题讨论】:

    标签: wpf binding wpfdatagrid


    【解决方案1】:

    您想要的是一种将您的对象来回转换为其文本表示的方法。

    为您的绑定定义转换器

    http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx

    【讨论】:

    • 哇,真快!看起来很有希望,现在正在研究它。谢谢!
    • 嗨,我得到了转换器和所有的,但它没有被网格使用,它仍然显示插入的类的类型。这就是我连接转换器的方式: 你知道正确的语法吗?我看过转换器的示例,但它们都带有数据模板等。提前感谢,约翰
    • 我现在需要的是带有 Datagrid 的 XAML 示例
    猜你喜欢
    • 1970-01-01
    • 2013-07-28
    • 2018-02-07
    • 2013-06-20
    • 2023-04-06
    • 2011-08-17
    • 1970-01-01
    • 2014-08-13
    • 2023-04-02
    相关资源
    最近更新 更多