1

私はWPFに取り組んでおり、データグリッドを含むコントロールを設計しています。これまでのところすべてが順調に進んでいます。

しかし、何か奇妙なことが起こりました。データグリッドに1つ以上の行を表示すると、データグリッドの最後に新しい行を追加するために使用される空白の行が表示されますが、データグリッドに行がない場合は、空白の行が表示されます。どちらも表示されません!。

したがって、データグリッドには、データであるかどうかに関係なく、常に最後に空白行が必要です。

プロパティを試してみましたCanUserAddRowsIsReadOnly、前に述べたように、1つ以上の行がある場合にのみ機能します。

誰かがこれを達成する方法を知っていますか?

前もって感謝します。

4

1 に答える 1

1

空白の行を意味しますか?wpfdatagridの空白行が欠落しているという回答をご覧ください

この基本的な設定では、空白の行が表示されます(バインドされた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 に答える