c# - 我如何摆脱 Datagrid 创建的额外行

标签 c# wpf vb.net xaml datagrid

我的 WPF .net 应用程序中有两个 DataGrid。其中一个工作正常,另一个正在创建一个(空)行我不知道它添加在哪里。数据网格看起来与我非常相似。

网格的生成方式如下:

    <DataGrid AutoGenerateColumns="False" 
      Name="grid1">
        <DataGrid.Columns >
            <DataGridTextColumn Binding="{Binding Path=HUHU}" MinWidth="120" Header="HUHU" />
            ... some columns
        </DataGrid.Columns>
    </DataGrid>

    <DataGrid AutoGenerateColumns="False"
      Name="grid2" >
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path=HU}" MinWidth="50" Header="HU" />
            ... some columns
        </DataGrid.Columns>
    </DataGrid>

下面是网格的填充方式:

    Dim grid1Source = New List(Of SomeType)

    For Each a As SomeType In MyFunctions.GetAllCalendarItems(CalendarPicker.SelectedDate)
        grid1Source.Add(a)
    Next
    grid1.ItemsSource = gird1Source

    Dim grid2Source = New List(Of SomeOtherType)

    For Each fa As SomeOtherTypeIn MyFunctions.GetsomeCalendarItems(CalendarPicker.SelectedDate)
        grid2Source.Add(fa)
    Next
    grid2.ItemsSource = grid2Source

现在棘手的事情是:它们看起来不一样了。其中之一包含一个空行。 (您可以在下图中看到它)这不是因为函数返回了错误/空对象(用调试器检查了大约 500 次)。

this is how the DataGrids look like

有什么办法解决这个问题吗?

最佳答案

看起来这个额外的行是 dataGrid 提供的新行。您需要标记 CanUserAddRows = False 以停止此功能。

这将阻止网格让用户添加新行。

另外,阅读 this有关 CanUserAddRows 如何工作的更多信息

CanUserAddRows True if the DataGrid is not ReadOnly and IsEnabled, CanUserAddRows is set to true and IEditableCollectionView.CanAddNew is true

关于c# - 我如何摆脱 Datagrid 创建的额外行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32204674/

相关文章:

vb.net - 系统找不到为程序集指定的引用

c# - WPF 基础知识?

c# - 在 DataGridView 中拖放文件

c# - 在 mvc3 服务器端代码上获取显示注释值

c# - Iphone,从 MonoTouch 获取国家列表

c# - 类型 "Binding"的 DependencyProperty 未更新

c# - 来自 WPFToolkit 的控件在命名空间中不存在

c# - C# 的 ObservableDictionary

mysql - 将 GridView 数据复制到数据库中的表中

c# - 分层架构中的 Entity Framework - 要遵循的最佳实践?