Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 微数据网格列_Wpf_Datagrid_Caliburn.micro - Fatal编程技术网

Wpf 微数据网格列

Wpf 微数据网格列,wpf,datagrid,caliburn.micro,Wpf,Datagrid,Caliburn.micro,我有一个WPF Caliburn.Micro应用程序,它有一个带有DataGrid的选项卡控件。DataGrid中的列是以编程方式设置的。我可能需要关闭一个选项卡,然后再次打开它。我得到一个例外,说DataGrid中已经存在一列,尽管实际上根本没有列。你能帮我做这个吗 在图片上,您可以在“监视”窗口中看到myGrid.Columns.Count等于0 看起来您可能正在向另一个数据网格添加一个已经存在的列(在以前的数据网格中)。错误表明该列存在于a数据网格的Columns集合中,不一定是您试图将其

我有一个WPF Caliburn.Micro应用程序,它有一个带有DataGrid的选项卡控件。DataGrid中的列是以编程方式设置的。我可能需要关闭一个选项卡,然后再次打开它。我得到一个例外,说DataGrid中已经存在一列,尽管实际上根本没有列。你能帮我做这个吗

在图片上,您可以在“监视”窗口中看到myGrid.Columns.Count等于0


看起来您可能正在向另一个数据网格添加一个已经存在的列(在以前的数据网格中)。错误表明该列存在于a数据网格的
Columns
集合中,不一定是您试图将其添加到的集合中

DataGrid
无法共享列-您需要从以前的DataGrid中删除该列。这可能意味着您的某个地方也存在内存泄漏。如果您的选项卡项VM继承了
屏幕
,您可能希望覆盖
OnDeactivate
并清除列

或者,您可以通过列获取对父网格的引用,并将其从父网格中删除,尽管我自己没有使用过标准的.NET
DataGrid
(仅使用Teleriks one),因此我不能确定-但就我个人而言,clear-down-on-close似乎是一个更干净的实现


类的新实例不应该负责在死实例之后进行清理,而应该由类自己负责清理(我一直告诉我的孩子们!)

看起来您可能正在将一个已经存在的列(在以前的datagrid中)添加到另一个datagrid中。错误表明该列存在于a数据网格的
Columns
集合中,不一定是您试图将其添加到的集合中

DataGrid
无法共享列-您需要从以前的DataGrid中删除该列。这可能意味着您的某个地方也存在内存泄漏。如果您的选项卡项VM继承了
屏幕
,您可能希望覆盖
OnDeactivate
并清除列

或者,您可以通过列获取对父网格的引用,并将其从父网格中删除,尽管我自己没有使用过标准的.NET
DataGrid
(仅使用Teleriks one),因此我不能确定-但就我个人而言,clear-down-on-close似乎是一个更干净的实现


类的新实例不应该负责在死实例之后清理,而应该由类自己负责清理(我一直告诉我的孩子们!)

非常感谢。我否决了,这就成功了。非常感谢。我超越了我的控制权,这就成功了。