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中保持不变并生成错误的是什么?谢谢你的帮助
帕特里克您不是在创建新路径,而是将System.Windows.Shapes.Path newPath = SelectedPath;
分配给newPath您现有的路径。您需要创建一个全新的路径,并为其数据分配几何
如果资源在资源字典中,您可以将该资源标记为非"共享" -参见另一个问题的答案:
https://stackoverflow.com/a/35609066/3195477我发现这将避免引用的错误消息。