我正在尝试将动态创建的silverlight 2页面/图像发送到ASP.net Web服务,以将其呈现为位图图像。
我可以看到很多例子如何在Silverlight版本1中使用javascript(see here)获取XAML,但我有一些区别。
a)我正在使用silverlight 2 RC1
b)我已在c#
中动态地向页面添加控件
c)我更愿意使用c#来获取新的XAML以将所有的男女同校留在一个地方。
有谁知道如何从控件或c#中的页面中提取XAML?
谢谢
更新:现在可以在silverlight 3下使用可写位图将XAML保存为JPEG,请参阅我的博客文章:http://blog.blueboxes.co.uk/2009/07/21/rendering-xaml-to-a-jpeg-using-silverlight-3/
答案 0 :(得分:0)
遗憾的是,遗憾的是,在元素树上没有.ToXaml()的方法。您可以使用VisualTreeHelper构建这样的方法,并通过我想的特定元素进行递归。
答案 1 :(得分:0)
查看此链接,了解它是否对您有所帮助。 http://blogs.vertigo.com/personal/ralph/Blog/archive/2008/11/21/snapshot-of-xaml-control-save-to-image.aspx
答案 2 :(得分:0)
SilverlightContrib有一个XamlWriter类,可以从实时控件中提取XAML。
它是免费的。
链接为: http://silverlightcontrib.org
代码如下:
// using SilverlightContrib.Xaml;
var cb = new GroupBox();
StringBuilder sb = new StringBuilder();
XamlWriterSettings settings = new XamlWriterSettings();
using (XamlWriter writer = XamlWriter.CreateWriter(sb, false, settings))
{
writer.WriteElement(cb);
}
string result = sb.ToString();