Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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 多次显示的ListView组标题_Wpf_Xaml_Listview_Data Binding_Grouping - Fatal编程技术网

Wpf 多次显示的ListView组标题

Wpf 多次显示的ListView组标题,wpf,xaml,listview,data-binding,grouping,Wpf,Xaml,Listview,Data Binding,Grouping,我有一个带有组和组头的列表视图,我是根据特定的规则编写的 这可以正常工作,但是如果我关闭它所在的窗口并通过重新创建它(创建一个新实例)重新打开它,那么所有的头都会被复制。 也就是说,我没有“我的标题”和它下面的项目,而是有“我的标题”,在它下面有另一个“我的标题”,项目在该标题下。 此时重新打开它将添加第三个标题。 如果我切换到一个不同的项目源,同样的事情会发生在那里,而且似乎还记得每个源有多少次重复 请注意,我在任何时候都绝对不会更改源集合的内容。在不同的阶段序列化它会产生完全相同的文件。为了

我有一个带有组和组头的列表视图,我是根据特定的规则编写的

这可以正常工作,但是如果我关闭它所在的窗口并通过重新创建它(创建一个新实例)重新打开它,那么所有的头都会被复制。 也就是说,我没有“我的标题”和它下面的项目,而是有“我的标题”,在它下面有另一个“我的标题”,项目在该标题下。 此时重新打开它将添加第三个标题。 如果我切换到一个不同的项目源,同样的事情会发生在那里,而且似乎还记得每个源有多少次重复

请注意,我在任何时候都绝对不会更改源集合的内容。在不同的阶段序列化它会产生完全相同的文件。为了便于使用,标题仅从数据中的字符串值创建;我甚至不知道这怎么会导致任何递归,但很明显它确实如此

如果我没有重新创建窗口,而是重用它并在显示时更新绑定,那么这个问题就不会再发生,但是相反,打开具有不同项源的窗口时,现在显示的项根本没有组头

我曾尝试查找任何类似的问题,但没有结果,我是WPF的新手,所以我还不熟悉它的工作原理

以下是两种状态下窗口的屏幕截图,以及其中的可视树和标题:

我确实找到了一个
CollectionViewSource
,并随后尝试使用它,但我也无法让它正常工作——它显示的超级组表现正常,但在它下面发生了完全相同的现象

以下是ListView的XAML代码:


对此原因的任何想法,甚至解决方法,都将不胜感激

如果我可以重用窗口而不是重新创建它(这会导致在更改源时标题根本不显示),那就更好了,但我会尽我所能

提前感谢。=)