我在XAML UserControl资源中有一些Path
类型的元素,当我尝试多次使用某个元素时(例如在两个不同的StackPanel
中),我得到一个InvalidOperationException。
有什么问题?为什么资源元素在我的控件中被识别为真正的组件?
答案 0 :(得分:3)
只有Freezable
个被冻结的对象可以在同一个可视树中多次使用。 Path
个对象不是Freezable
个对象,而是FrameworkElement
个对象,因此错误。您可以尝试使用x:Shared="False"
资源上的Path
属性在每次访问资源时创建新副本以防止异常。