c# WPF错误指定的Visual已经是另一个Visual的子对象或CompositionTarget的根对象

本文关键字:Visual 对象 另一个 CompositionTarget 错误 WPF | 更新日期: 2023-09-27 18:10:58

好的,这是一个相当常见的错误,我意识到,基本上我添加了两次相同的路径到画布

问题是,我有一个"虚拟路径"(让我们称之为pathDummy),它被添加到画布多次改变它的几何形状(即它的点集)。这就是我必须处理它的方式,不能总是删除它。

所以我试着从pathDummy创建一个新路径:

System.Windows.Shapes.Path newPath = SelectedPath; paths.Add(newPath); plotCanvas.Children.Add(paths[paths.Count - 1]);

但这并不能解决问题。在newPath中保持不变并生成错误的是什么?谢谢你的帮助

帕特里克

c# WPF错误指定的Visual已经是另一个Visual的子对象或CompositionTarget的根对象

您不是在创建新路径,而是将System.Windows.Shapes.Path newPath = SelectedPath;分配给newPath您现有的路径。您需要创建一个全新的路径,并为其数据分配几何

如果资源在资源字典中,您可以将该资源标记为非"共享" -参见另一个问题的答案:

https://stackoverflow.com/a/35609066/3195477

我发现这将避免引用的错误消息。

相关文章: