我想允许用户在数据网格中添加行。我知道 WinForms 中的 Datagridview,并且 Datagrid 的底部总是有一个空行,我可以用数据填充。
<DataGrid x:Name="dgv"
Grid.ColumnSpan="4"
Grid.Row="1"
CanUserAddRows="True"
CanUserDeleteRows="True"
SelectionUnit="FullRow"
AutoGenerateColumns="False"
ItemsSource="{Binding Entries}">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Anrede" Width="1*"></DataGridComboBoxColumn>
<DataGridTextColumn Header="Vorname" Width="2*" Binding="{Binding Vorname}" />
<DataGridTextColumn Header="Nachname" Width="2*" Binding="{Binding Nachname}" />
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
背后代码:
public ObservableCollection<Mitreisender> Entries { get; }
public aufenthaltsWindow()
{
InitializeComponent();
Entries = new ObservableCollection<Mitreisender>();
}
Run Code Online (Sandbox Code Playgroud)
班上
public class Mitreisender
{
public int MitreisenderID { get; set; }
public Gast.AnredeTyp Anrede { get; set; }
public string Titel { get; set; }
public string Vorname { get; set; }
public string Nachname { get; set; }
public virtual Aufenthalt Aufenthalt { get; set; }
public Mitreisender()
{
}
}
Run Code Online (Sandbox Code Playgroud)
确保该类Mitreisender具有无参数构造函数:
public Mitreisender()
{
}
Run Code Online (Sandbox Code Playgroud)
这是显示空白“添加”行所必需的。
还要确保绑定有效,并且您已将 DataGrid 的 DataContext 或其父窗口设置为定义了 Entries 属性的类的实例:
public aufenthaltsWindow()
{
InitializeComponent();
Entries = new ObservableCollection<Mitreisender>();
DataContext = this;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |