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