【问题标题】:C# WPF error Specified Visual is already a child of another Visual or the root of a CompositionTargetC# WPF 错误指定的 Visual 已经是另一个 Visual 的子对象或 CompositionTarget 的根
【发布时间】:2015-09-03 15:02:38
【问题描述】:

好的,这是一个相当常见的错误,我知道基本上我在画布上添加了两次相同的路径。

问题是我有一个“虚拟路径”(我们称之为 pathDummy),它会在任何时候改变它的几何形状(即它的点集)多次添加到画布中。这就是我必须处理它的方式,并且不能一直删除它。

所以我尝试通过以下方式从 pathDummy 创建一条新路径:

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

但这并没有解决问题。那么在 newPath 中保持不变并产生错误的是什么? 感谢您的帮助

帕特里克

【问题讨论】:

    标签: c# wpf exception path


    【解决方案1】:

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

    【讨论】:

    • 非常感谢!!现在我发现它是如此简单!
    【解决方案2】:

    在资源位于资源字典中的情况下,您可以将资源标记为非“共享” - 请参阅其他问题的答案:

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

    我发现这样可以避免引用的错误信息。

    【讨论】:

      猜你喜欢
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 2017-07-22
      • 1970-01-01
      相关资源
      最近更新 更多