.net – 如何在WPF DataGrid中定义自己的列?
发布时间:2020-05-24 19:38:46 所属栏目:MsSql 来源:互联网
导读:我有一个AutoGenerateColumns WPF-DataGrid绑定到LINQ-to-SQL的代码隐藏,工作正常. 但是当我取消AutoGenerateColumns并定义我自己的列时,它告诉我“在使用ItemsSource之前,items集合必须为空”. 但是我没有绑定我的XAML中的ItemSource,所以我不明白为什么它不
|
我有一个AutoGenerateColumns WPF-DataGrid绑定到LINQ-to-SQL的代码隐藏,工作正常. 但是当我取消AutoGenerateColumns并定义我自己的列时,它告诉我“在使用ItemsSource之前,items集合必须为空”. 但是我没有绑定我的XAML中的ItemSource,所以我不明白为什么它不是空的.我需要更改什么才能定义自己的列? XAML: <UserControl x:Class="TestDataGrid566.AppPages.ManageCustomers"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit"
Loaded="UserControl_Loaded">
<toolkit:DataGrid x:Name="TheDataGrid"
CanUserAddRows="False"
AlternatingRowBackground="#ddd"
CanUserSortColumns="true"
PreviewKeyDown="TheDataGrid_PreviewKeyDown"
AutoGenerateColumns="False"
RowEditEnding="TheDataGrid_RowEditEnding">
<toolkit:DataGridTextColumn Header="Contact Name" Width="SizeToCells"
Binding="{Binding ContactName}"
IsReadOnly="False"/>
</toolkit:DataGrid>
</UserControl>
后台代码: public partial class ManageCustomers : UserControl
{
private NorthwindDataContext _db = new NorthwindDataContext();
public ManageCustomers()
{
InitializeComponent();
}
private void UserControl_Loaded(object sender,RoutedEventArgs e)
{
LoadData();
}
public void LoadData()
{
var customers = from c in _db.Customers
select c;
TheDataGrid.ItemsSource = customers.ToList();
}
}
解决方法您正试图将列直接放入DataGrid(因此它试图将列放在网格的Items集合中,这解释了您的错误).您需要将它放在Columns集合中:<toolkit:DataGrid x:Name="TheDataGrid"
CanUserAddRows="False"
AlternatingRowBackground="#ddd"
CanUserSortColumns="true"
PreviewKeyDown="TheDataGrid_PreviewKeyDown"
AutoGenerateColumns="False"
RowEditEnding="TheDataGrid_RowEditEnding">
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Header="Contact Name" Width="SizeToCells"
Binding="{Binding ContactName}"
IsReadOnly="False"/>
</toolkit:DataGrid.Columns>
</toolkit:DataGrid> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL选择返回默认值如果为空
- SQL Server的良好实践:nvarchar(max)性能
- SQL获取用户朋友和朋友的朋友
- t-sql清空表数据的两种方式示例(truncate and delete)
- 使用SQL INNER JOIN有什么不好的
- MySQL 5.7.9 服务无法启动-“NET HELPMSG 3534”的解决方法
- sql-server – 导入Access .mdb时SQL Server导入向导“工作
- SQL Server和.NET:在代码中插入失败(静默!),但在手动运行
- 用于打开存储过程并在SQL Server中读取它的SQL代码
- sql-server – 处理多租户数据库体系结构中越来越多的租户
