【问题标题】:Getting XAML of the current screen in silverlight 2在silverlight 2中获取当前屏幕的XAML
【发布时间】:2023-03-07 00:49:02
【问题描述】:

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

我可以看到许多示例如何在 silverlight 版本 1 中使用 javascript (see here) 获取 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/

【问题讨论】:

    标签: silverlight xaml image


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      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();

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-04
        • 1970-01-01
        • 1970-01-01
        • 2021-06-04
        • 1970-01-01
        相关资源
        最近更新 更多