我有一个
ObservableCollection<CustomObj> DataInfo
在我的MVVM WPF项目中。 CustomObj类如下所示:
public class class1 : ObservableObject
{
public class1()
{
MySecondProperty = new Class2();
}
public string MyStringValue { get; set; }
public Class2 MySecondProperty { get; set; }
public List<Class3> MyThirdProperty{ get; set; }
}
什么时候我像这样绑定WPF属性
<DataGrid Name="dgMyDataGrid"
SelectedItem="{Binding SelectedItem}"
ItemsSource="{Binding DataInfo}">
</DataGrid>
我从“MyStringValue”获取值,并在数据网格中获取对象和集合。 谷歌没有给我任何结果,我找不到类似于这个例子的任何东西。
如何以简单的方式从Class2和List中获取数据以显示数据?
答案 0 :(得分:2)
您需要定义列并在列定义中进行绑定。
以下将在第二列
中显示MySecondProperty.SubProperty的值对于Class3,如果你想要类似组合框的东西,那么使用模板化的datagrid列 http://blogs.msdn.com/b/vinsibal/archive/2008/08/19/wpf-datagrid-stock-and-template-columns.aspx 有列模板的信息
<DataGrid Name="dgMyDataGrid" SelectedItem="{Binding SelectedItem}" ItemsSource="{Binding DataInfo}">
<DataGrid.Columns>
<DataGridTextColumn Header="MyStringValue " Width="*" Binding="{Binding Path=MyStringValue }" />
<DataGridTextColumn Header="MySecondProperty.SubProperty" Width="*" Binding="{Binding Path=MySecondProperty.SubProperty}" />
</DataGrid.Columns>
</DataGrid>