从项列表中填充DataGrid

时间:2014-05-15 12:15:17

标签: c# wpf mvvm datagrid

实际上,我有一个小的wpf应用程序,它有一个DataGrid窗口,我无法用对象填充它。

在我的ViewModel类中,我有这个:

     public class UserViewModel : INotifyPropertyChanged
        {
            public UserViewModel()
            {
                User myUser = new User();
            }
            ...

        }

请注意,Object myUser有3个属性:ID,Name和Notes,它是包含其他属性的列表:NoteID,NoteTitle,NoteDescription。

<Window.DataContext>
        <local:UserViewModel/>
    </Window.DataContext>
    <DataGrid Name="noteDataGrid" ItemsSource="{Binding DataContext}" AutoGenerateColumns="True">
        <DataGrid.Columns >
            <DataGridTextColumn Binding="{Binding Path=NoteID}" Header="ID"/>

            <DataGridTextColumn Binding="{Binding Path=Title}" Header="Title"/>

            <DataGridTextColumn Binding="{Binding Path=Description}" Header="Desc"/>
        </DataGrid.Columns>
    </DataGrid>

那就是它,我知道有些东西不匹配,但这是我的第一个WPF(MVVM)应用程序,这就是为什么我会很高兴有一个解决方案

最好的问候

1 个答案:

答案 0 :(得分:1)

  1. 在您的虚拟机中,您必须公开一些集合,例如List<User> Users。重要提示:必须是一个属性。
  2. 然后只需在构造函数中向此集合添加项目。
  3. 以这种方式绑定到DataGrid集合:ItemsSource="{Binding Users}"
  4. 瞧。
  5. 此外,AutoGenerateColumns="True"会复制您的列(您手动和自动添加它们)。