1

我正在尝试将动态创建的 silverlight 2 页面/图像发送到 ASP.net Web 服务,以将其呈现为位图图像。

我可以看到许多示例如何在 silverlight 版本 1 中使用 javascript(请参阅此处)获取 XAML,但我有一些不同之处。

a) 我正在使用 silverlight 2 RC1
b) 我已经在 c# 中向页面动态添加控件
c) 我更喜欢使用 c# 来获取新的 XAML 以将所有 coed 保存在一个地方。

有谁知道如何从 C# 中的控件或页面中提取 XAML?

谢谢


更新:现在可以在 Silverlight 3 下使用可写位图将 XAML 保存为 JPEG,请参阅我的博客文章:http: //blog.blueboxes.co.uk/2009/07/21/rendering-xaml-to- a-jpeg-using-silverlight-3/

4

2 回答 2

0

不幸的是,不幸的是,元素树上没有 .ToXaml() 的方法。您可以使用 VisualTreeHelper 构建这样的方法并通过我想的特定元素进行递归。

于 2008-10-10T16:50:56.413 回答
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();

于 2009-02-26T07:19:24.647 回答