以下人为例子说明了我的问题。
我的视图模型:
我的视图模型:
public class MyViewModel : ViewModel
{
public MyViewModel()
{
var table = new DataTable("MyDatatable");
table.Columns.Add("Some Val", typeof(double));
table.Columns.Add("Ref");
var row = table.NewRow();
row["Some Val"] = 3.14;
row["Ref"] = new {Title = "My Title", Description = "My Description"};
table.Rows.Add(row);
MyDataView = table.DefaultView;
}
DataView MyDataView { get; set; }
}
现在我的问题在于我的Xaml代码。我希望我的其中一个列标题为"My Title",相应的行值为"My Description"...
我的Xaml代码:
<DataGrid ItemsSource="MyDataView" AutoGenerateColumns="False">
<DataGrid.Columns>
<!--This column works fine. -->
<DataGridTextColumn Header="Some Val" Binding="{Binding 'Some Val'}" Width="50"/>
<!--This column doesn't work... I'm looking for something similar to this: -->
<DataGridTextColumn Header="{Binding Path='Ref.Title'}" Binding="{Binding Path='Ref.Description'}"/>
</DataGrid.Columns>
</DataGrid>
这是否有意义?第二列标题应为“My Title”,单元格值为“My Description”。有什么想法如何实现?