1

我正在研究 WPF,我正在设计一个包含数据网格的控件,到目前为止一切顺利。

但是刚刚发生了一些奇怪的事情:如果我在数据网格中显示一行或多行,数据网格最后会显示用于添加新行的空白行,正常情况下,但是如果数据网格中没有行,则空白行也没有显示!

所以,我需要我的数据网格始终在末尾有空白行,无论是否有数据。

我已经尝试过使用这些属性CanUserAddRowsIsReadOnly但正如我之前所说,它仅在有一行或多行时才有效。

有谁知道如何实现这一目标?

先感谢您。

4

1 回答 1

1

你的意思是空行吗?看看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();
   }
于 2012-05-24T21:48:31.103 回答