我正在研究 WPF,我正在设计一个包含数据网格的控件,到目前为止一切顺利。
但是刚刚发生了一些奇怪的事情:如果我在数据网格中显示一行或多行,数据网格最后会显示用于添加新行的空白行,正常情况下,但是如果数据网格中没有行,则空白行也没有显示!
所以,我需要我的数据网格始终在末尾有空白行,无论是否有数据。
我已经尝试过使用这些属性CanUserAddRows
,IsReadOnly
但正如我之前所说,它仅在有一行或多行时才有效。
有谁知道如何实现这一目标?
先感谢您。
你的意思是空行吗?看看wpf datagrid空白行缺失的答案
这个基本设置确实显示了一个空白行(即使绑定的 ItemsSource 没有数据)
XAML
<Window x:Class="Demo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
>
<Grid>
<DataGrid ItemsSource="{Binding Items}">
<!--Must define columns if you need columns before bound collection has data-->
<DataGrid.Columns>
<DataGridTextColumn Header="Property" Binding="{Binding Path=MyProperty}"> </DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
背后的代码
public class Data
{
public Data(string value) { MyProperty = value; }
public Data() { } // Must have default constructor
public String MyProperty { get; set; }
}
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
List<Data> _items = new List<Data>();
public List<Data> Items
{
get { return _items; }
}
public MainWindow()
{
InitializeComponent();
}