如何在Datagrid中创建一个空行,但它没有添加到Collection(模型)中?这应该更像是一个占位符行,当正确填写时,THEN会被添加到集合/模型中,并显示一个空白行。
经过研究,很多人建议只是在集合中插入一个空白对象(不是我想要做的)或者在我自己的包装类中包装一个集合。无论如何使用模板来做到这一点?
编辑:如果有人熟悉GNUCash,那就是我想要的......
<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;
我已经绑定到CollectionViewSource,但我也尝试使用ObservableCollection类型。
答案 0 :(得分:0)
设置CanUserAddRows="True"
会为您提供占位符
<DataGrid CanUserAddRows="True">
答案 1 :(得分:0)
...解决
在这种情况下,类LogbookEntry需要有一个空的构造函数,即。
public class LogbookEntry ()