在.NET中以编程方式添加Xaml Shape / Path

时间:2013-01-30 21:56:00

标签: .net wpf silverlight xaml windows-store-apps

我正在使用XAML和VB为Windows 8设计应用程序,但认为这个问题可能也适用于Silverlight和WPF。

我可以在绘图应用程序中创建一个形状,然后另存为XAML以获取必要的代码,以便在Visual Studio 2012的XAML代码编辑器中重新创建此形状。

例如,以下产生测试形状:

    <Path Stroke="Black" Fill="Gray"
    Data="M 10,100 C 10,300 300,-200 300,100"  Grid.Row="1"/>

我希望能够使用Data属性中的信息以编程方式创建此形状。

到目前为止,我已经研究过这个LINK,它解释了PathGeometry类。但是,它似乎使用了不同的方法。

我要问的是,是否有办法获取Data属性并将其粘贴到属性中以在VB中创建形状。或者,如果有另一种方法可以做到这一点,我就错过了。

非常感谢。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用XamlReader类:

var path = XamlReader.Load("<Path Stroke=\"Black\" Fill=\"Gray\" Data=\"M 10,100 C 10,300 300,-200 300,100\" Grid.Row=\"1\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" />");
Canvas.Children.Add(path as UIElement);

只需确保在要加载的XAML代码段中包含默认命名空间。 Canvas在我的网页中Grid,我正在添加Path