我有一个ResourceDictionary
包含一个路径(带有键" Pager"),我想从代码隐藏(C#)添加到StackPanel
。
目前,我这样做(适用于单个寻呼机实例。
var pager = this.FindResource("Pager") as System.Windows.Shapes.Path;
pagerPanel.Children.Add(pager);
问题是我无法在不遇到XamlParseException
的情况下向StackPanel添加多个路径:{"Specified Visual is already a child of another Visual or the root of a CompositionTarget."}
关于如何从ResourceDictionary添加多个路径的任何想法?
答案 0 :(得分:0)
您必须为声明的资源设置 x:Shared 到false
,如下所示:
<Path x:Shared="false" x:Key="Pager"/>
答案 1 :(得分:0)
您可以尝试从路径中分割数据(可视化)。添加
<PathGeometry x:Key="Pager" Figures="M0,0 L100,0 L50,50z"/>
访问您的资源并使用一次或多次:
<Path Data="{StaticResource Pager}" Fill="Red"/>
答案 2 :(得分:0)
我最终将Path
包裹在Grid
而不是Canvas
,这解决了问题。