将自定义对象列表数据绑定到数据网格
本文关键字:数据 数据网 网格 数据绑定 自定义 对象 列表 | 更新日期: 2023-09-27 18:06:41
我试图将自定义数据列表绑定到WPF中的Datagrid
这是自定义对象:
public class User
{
public string Name { get; set; }
public string Role{ get; set; }
}
从数据库中获取这个数据作为一个列表
public List<User> allUsers;
我将这个列表发送给视图模型类->
public ListWindowViewModel(object dataSource)
{
this.datasource = dataSource;
}
public DataView GridData
{
get
{
DataSet ds = new DataSet("ListData");
ds = dataSource as DataSet;
return ds.Tables[0].DefaultView;
}
}
在listviewxaml文件中,我使用binding ->
<DataGrid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="5" Margin="3" x:Name="mainGrid"
ItemsSource="{Binding Path=GridData, Mode=OneWay}">
</DataGrid>
它不工作,因为ds = dataSource as DataSet;
不工作
您可以直接创建集合,如。
private ObservableCollection<User> _allUsers=new ObservableCollection<User>();
public ObservableCollection<User> allUsers
{
get { return _allUsers; }
set { _allUsers = value; }
}
和你的数据网格绑定看起来像
<DataGrid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="5" Margin="3" x:Name="mainGrid"
ItemsSource="{Binding=allUsers, Mode=OneWay}">
</DataGrid>
尝试直接使用绑定?如:
(nameDatagrid)。
(nameDatagrid)。