2010-09-22 92 views
1

情况如下:
DataGrid有一个RowDetailsTemplate,它包含另一个DataGrid(子网格)。如果添加包含EventHandler的DataGridTemplateColumn,PresentationFramework.dll将抛出NullReferenceException升级到.NET 4.0后WPF DataGrid中的错误

此问题仅在.NET 4.0中存在。如果项目的目标是.NET 3.5(并且将WPFToolkit用于DataGrid组件),则所有内容均按预期工作。

我附上了一个重现此错误的小示例项目。在该项目中是一个README文件,它再次解释问题并显示异常的堆栈跟踪。 (示例项目可以发现here

重现步骤:
1.运行示例项目原样。
2.尝试网格第一行中的“删除我”链接,确认它显示一条消息。
3.单击第一列中的'SHOW'单元格,并确认它显示带有一个项目的子网格。
4.尝试子网格中的“删除我”链接,确认它没有任何作用(它没有用代码连接)。
5.关闭窗口,并为MainWindow.xaml
6.线了Hyperlink.Click事件MainWindow.xaml在线36:添加点击=“HyperlinkClick”的超链接标签。
7.再次运行项目,然后单击第一列中的'SHOW':引发NullReferenceException!

这是从https://connect.microsoft.com/VisualStudio/feedback/details/603333/wpf-datagrid-rowdetails-add-2nd-datagrid-to-rowdetailstemplate-with-eventhandlers#details交叉发布的,但这对我来说是一个阻塞问题。

所以问题是:为什么会发生这种情况?我认为这是PresentationFramework代码中的一个错误,但我不是100%确定的。我能做些什么来使EventHandler按预期工作?

我发现了一个临时解决办法,允许用户按下删除键,但这会打破我们的应用程序的行为。
有没有人可以重现和评论这个问题?

+0

你的问题是什么? – 2010-09-22 12:28:26

+0

编辑原始帖子的问题... – RoelF 2010-09-22 12:31:31

回答

0

我有一个类似的问题,似乎与CanUserAddRows =“True”有关......如果将其设置为false,问题就会消失。