在WPF中将ResourceDictionary的路径添加到StackPanel

时间:2014-11-09 18:43:05

标签: c# wpf

我有一个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添加多个路径的任何想法?

3 个答案:

答案 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,这解决了问题。