WPF DataGrid定制:对齐,滚动,性能,可用性

时间:2010-10-04 12:32:41

标签: c# wpf data-binding xaml datagrid

我开发基于桌面的WPF应用程序,它使用SQL Server 2008 R2数据库和ADO.NET实体框架作为数据库和应用程序之间的连接工具。

在其中一个窗口中,需要显示数据库表的内容,并让用户执行一些操作,例如向数据库添加新记录,编辑所选记录和删除所选记录。

为了做到这一点,我想使用webmail设计模式,换句话说,我希望我的窗口看起来与Gmail的收件箱完全一样,用户可以选择字母(在我的情况下,从DB中记录行),点击邮件并查看其详细信息,单击复选框将选择一行并允许用户将其删除。

要做到这一点,我通过数据绑定机制使用DataGrid控件:

IBindingList Users = ((from d in App.Context.tbl_users
            select new { d.userID, d.userName, d.userPassword }
          ) as IListSource).GetList() as IBindingList;
this.ContentGrid.DataContext = Users;

结果,我得到一个包含来自DB的数据的DataGrid表,但我不知道如何:

  1. 让用户点击复选框选中一条记录并突出显示此行
  2. 从DB&中删除专门选择的行DataGrid点击“删除按钮”
  3. 设置更大的行高/填充以使更清晰/空中接口
  4. 我阅读了一些文章,但找不到我的问题的解决方案或示例。 请你能指点我相关的文章/网站或建议一个如何实现它的例子吗?

    感谢。

1 个答案:

答案 0 :(得分:1)

通常使用DataGrid,单击行或左侧行标题(“gutter”?)将选择该行。

用户可以通过按删除键删除该行,或者您可以通过从DataGrid.SelectedItem获取所选项目(例如在命令中)来执行此操作(或SelectedItems如果您启用了多项-selection),然后从您的数据库中删除它。

对于行高,请查看DataGrid.RowHeight

相关问题