silverlight技巧 用xamlreader读写XAML页面.

silverlight技巧 用xamlreader读写XAML页面.,第1张

概述这次给大家晒晒 silverlight 用户控件的另一种写法xamlreader. 是不是有些朋友想过在 silverlighter 里使用 aps.net 里面的 response.write(); 方法输出HTML代码那样输出 XAML 代码呢? 呵呵这里我就给大家晒晒如何实现吧~ 首先我要帮大家引入一个对象 他位置与 System.Windows.Markup; 命名空间下. 这里有一个静态

这次给大家晒晒 silverlight 用户控件的另一种写法xamlreader.

是不是有些朋友想过在 silverlighter 里使用 aps.net 里面的 response.write(); 方法输出HTML代码那样输出 XAML 代码呢? 呵呵这里我就给大家晒晒如何实现吧~

首先我要帮大家引入一个对象 他位置与 System.windows.Markup; 命名空间下. 这里有一个静态类XamlReader,以及read方法 我们就要用他来创建我们的usercontrol.

  // Summary:     //     ProvIDes a XAML processor engine for parsing XAML and creating corresponding     //     Silverlight object trees.     public static class XamlReader             // Summary:         //     Parses a well-formed XAML fragment and creates a corresponding Silverlight         //     object tree, and returns the root of the object tree.         //         // Parameters:         //   xaml:         //     A string that contains a valID XAML fragment.         //         // Returns        //     The root object of the Silverlight object tree.         public static object Load(string xaml);   

 了解这个对象后给大家一个实例看看怎么用吧~ 还是很简单的,

 1. 我们创建一个类 自然就是我们的 usercontrol 了 继承自 control

 2. 我们要把我们模板的 Xmal 以string 的形式保存写入程序中

 3. 我们要在构造函数中载入这些 XAML

 4. 我们在重载onapplytemplate() 方法中声明创建的对象XMAL代码.

 以下是我要写入的Xaml;

  public class MyImage : Control         {             Image _myImage = null            private const string _contentTemplate                 = "<ControlTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"" +                   "xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">" +                   "<Image x:name=\"sonicImage\" Source=\"space.jpg\"></Image>" +                   "</ControlTemplate>"        }   

构造函数

  public MyImage()             {                 Template = (ControlTemplate)XamlReader.Load(_contentTemplate);                 ApplyTemplate();             }   

重载onapplytemplate

  public overrIDe voID OnApplyTemplate()             _myImage = (Image)GetTemplateChild("sonicImage");       

这样我们就可以更灵活的使用我们的用户控件,很简单吧~ 希望这点技巧对你有所帮助^^

Source code: XamlReader_Demo

总结

以上是内存溢出为你收集整理的silverlight技巧 用xamlreader读写XAML页面.全部内容,希望文章能够帮你解决silverlight技巧 用xamlreader读写XAML页面.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1054478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存