WPF Datagrid绑定到具有复杂类型的DataTable

WPF Datagrid绑定到具有复杂类型的DataTable,wpf,binding,wpfdatagrid,Wpf,Binding,Wpfdatagrid,我有一个类,它包含来自某个模型的数据。此类包含元数据和实际值 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

我有一个类,它包含来自某个模型的数据。此类包含元数据和实际值

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。它调用服务器,获取一组ServerValue并将它们放入行和列中

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

现在,我想要双向数据绑定,所以网格上的输入被写回ServerValue。因此,我想将网格单元绑定到ServerValue的Value属性,而不是ServerValue本身

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

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

这可能吗?我一直在谷歌上搜索这个,我什么都找不到

提前感谢,


John

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

为绑定定义一个转换器


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

为绑定定义一个转换器


哇,太快了!看起来很有希望,现在就开始调查。谢谢嗨,我得到了转换器和所有东西,但它没有被网格使用,它仍然显示插入的类的类型。这就是我连接转换器的方式:你知道正确的语法吗?我见过转换器的例子,但它们都带有数据模板等。提前谢谢,约翰,我现在需要的是带有DatagridWow的XAML示例,非常快!看起来很有希望,现在就开始调查。谢谢嗨,我得到了转换器和所有东西,但它没有被网格使用,它仍然显示插入的类的类型。这就是我连接转换器的方式:你知道正确的语法吗?我见过转换器的例子,但它们都带有数据模板等。提前感谢,约翰,我现在需要的是带有数据网格的XAML示例