我试图将自定义数据列表绑定到WPF中的Datagrid
这是自定义对象:
public class User
{
public string Name { get; set; }
public string Role{ get; set; }
}
从数据库中我将此数据作为列表
获取public List<User> allUsers;
我将此列表发送到视图模型类 - &gt;
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;
}
}
在我的ListView xaml文件中,我使用了绑定 - &gt;
<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;
无法正常工作,因此无效。
答案 0 :(得分:1)
你可以直接创建像。
这样的集合 private ObservableCollection<User> _allUsers=new ObservableCollection<User>();
public ObservableCollection<User> allUsers
{
get { return _allUsers; }
set { _allUsers = value; }
}
并且您的datagrid绑定看起来像
<DataGrid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="5" Margin="3" x:Name="mainGrid"
ItemsSource="{Binding=allUsers, Mode=OneWay}">
</DataGrid>
答案 1 :(得分:0)
试图直接使用绑定?像:
(名称为Datagrid).ItemSsource = null;
(名称为Datagrid).ItemSsource = allUsers;