将空白的可编辑行添加到Datagrid但不添加到集合/列表

时间:2014-11-17 04:53:34

标签: c# wpf datagrid

如何在Datagrid中创建一个空行,但它没有添加到Collection(模型)中?这应该更像是一个占位符行,当正确填写时,THEN会被添加到集合/模型中,并显示一个空白行。

经过研究,很多人建议只是在集合中插入一个空白对象(不是我想要做的)或者在我自己的包装类中包装一个集合。无论如何使用模板来做到这一点?

编辑:如果有人熟悉GNUCash,那就是我想要的......

MainWindow.xaml



<Window x:Class="LogbookApp.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"
        xmlns:local="clr-namespace:LogbookApp">
    <DockPanel>
        <Menu Height="23" HorizontalAlignment="Stretch" Name="menu1" VerticalAlignment="Top" DockPanel.Dock="Top">
            <MenuItem Header="_File" />
            <MenuItem Header="_Edit" />
        </Menu>
        <ToolBar Height="26" HorizontalAlignment="Stretch" Name="toolBar1" VerticalAlignment="Top" DockPanel.Dock="Top">
        </ToolBar>
        <DataGrid ItemsSource="{Binding Entries}" CanUserAddRows="True" AutoGenerateColumns="False" HeadersVisibility="Column">
           <DataGrid.Columns>
                <DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/>
            </DataGrid.Columns>
        </DataGrid>
    </DockPanel>
</Window>
&#13;
&#13;
&#13;

我已经绑定到CollectionViewSource,但我也尝试使用ObservableCollection类型。

2 个答案:

答案 0 :(得分:0)

设置CanUserAddRows="True"会为您提供占位符

<DataGrid CanUserAddRows="True">

答案 1 :(得分:0)

...解决

在这种情况下,类LogbookEntry需要有一个空的构造函数,即。

public class LogbookEntry ()
相关问题