我需要允許用戶添加是直接在DataGrid中的信息,但把「CanUserAddRows」屬性不工作,只出現如下:如何將空行添加到DataGrid?
這是我的DataGrid:
<DataGrid x:Name="dtgPersons" Grid.Row="3" CanUserAddRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="N°" Width="*" />
<DataGridTextColumn Header="Name" Width="*" />
<DataGridTextColumn Header="Carrer" Width="*" />
<DataGridTextColumn Header="Group" Width="*" />
<DataGridTextColumn Header="Age" Width="*" />
</DataGrid.Columns>
</DataGrid>
編輯
這是新的網格代碼:
<DataGrid x:Name="dtgPerson" Grid.Row="3" ItemsSource="{Binding lstPerson}" AutoGenerateColumns="False" CanUserAddRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="N°" Width="*" Binding="{Binding No}" />
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}" />
<DataGridTextColumn Header="Carrer" Width="*" Binding="{Binding Carrer}" />
<DataGridTextColumn Header="Group" Width="*" Binding="{Binding Group}" />
<DataGridTextColumn Header="Age" Width="*" Binding="{Binding Age}" />
</DataGrid.Columns>
</DataGrid>
而這背後是我的代碼: 我的ObservableCollection:
public ObservableCollection<Person> lstPerson { get; set; }
我的主窗口
public MainWindow()
{
InitializeComponent();
DataContext = this;
lstPerson = new ObservableCollection<Person>();
}
我Person類
public class Person
{
public int No { get; set; }
public string Name { get; set; }
public string Carrer { get; set; }
public string Group { get; set; }
public int Age { get; set; }
}
它運行良好,但我仍然可以添加行。當載入表單時,它會出現一行,我可以插入數據,但是按下回車鍵,發送給我這個錯誤: ** PresentationFramework.dll中類型爲「System.InvalidOperationException」的未處理異常 注意:雙向鏈接需要Path或XPath。** 感謝您的時間,@galakt – Richard
@Richard您的數據模型如何看起來如何?因爲在我的解決方案中輸入和標籤工作正確 – galakt
在jiffy我編輯問題向你展示。 – Richard