【发布时间】:2015-11-21 17:41:26
【问题描述】:
我正在尝试将 ObservableCollection 绑定到我的 DataGrid。集合为空,但 DataGrid 显示 5 个空行。关于什么会导致这种情况的任何想法?
<DataGrid AutoGenerateColumns="true" Name="dgBills" Grid.Row="0" Margin="10, 10, 10, 5" Background="DarkRed" ItemsSource="{Binding Source=Bills}">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="Red" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="20" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Width="1*" Binding="{Binding NextDueDate}" />
<DataGridTextColumn Header="Desc" Width="1*" Binding="{Binding Description}" />
<DataGridTextColumn Header="Amount" Width="1*" Binding="{Binding Amount}" />
<DataGridTextColumn Header="Frequency" Width="1*" Binding="{Binding Frequency}" />
</DataGrid.Columns>
</DataGrid>
【问题讨论】:
-
集合
Bills是否被初始化为空行?另一点 - 尝试在数据网格上将 CanUserAddRows 属性设置为 false。 -
是的,Bills 集合已实例化,但目前还没有任何代码可以添加任何内容。最初我在启动时将 1 个事务加载到其中进行测试,但出现了 5 行。取出该代码...出现 5 行。
-
也试过 CanUserAddRows 没有修复它。我知道这是底部的空行,让用户手动插入新行,但我不会这样做!哈哈...
-
为什么在显式定义 DataGridTextColumn 时将 AutoGenerateColumns 设置为 true?
-
这是一个类似问题的答案并没有改变它。目前设置为 false。
标签: c# wpf datagrid observablecollection