加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

.net – 如安在WPF DataGrid中界说本身的列?

发布时间:2021-03-09 17:14:12 所属栏目:编程 来源:网络整理
导读:我有一个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>

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读