Silverlight动态生成控件实例
刚学习Silverlight,做了一个动态创建控件的实例
实现结果:根据已有的控件类名称,得到控件的实例化对象
实现思路1:就是定义一个模板文件,将类名做为参数,在silverlight中使用SreamWriter生成对应的文件,以便使用。但是,silverlight比较蛋疼的一点就是不能直接对文件进行操作,不论是读还是写都不成功,可能与silverlight的安全机制有关,没有对文件操作的权限。浪费了我一下午寻找解决方案,始终未果。
实现思路2 :由于思路1的不可行性,我就换了另一种思维,实现了效果,非常简单,只需三、四行代码。看来原来真的是想多了,下面贴上代码
#region 动态创建控件
public void CreateControl(string className)
{
//获取程序集
Assembly assembly= System.Reflection.Assembly.GetExecutingAssembly(); //创建自定义类的实例
CreateInstantiateOfClass c = new CreateInstantiateOfClass(className); //创建控件实例
object j= c.GetClassInstance(assembly.ToString(), "HeatingMIS.Client.Controls");
((Control)j).Width = ;
((Control)j).Height = ; this.LayoutRoot.Children.Add((Control)j);
}
#endregion
Silver动态生成控件实例
注:CreateInstantiateOfClass是自定义的一个根据类名创建类的实例的类,下面将贴出代码
public class CreateInstantiateOfClass
{
public string className = string.Empty; //传递类名传数
public CreateInstantiateOfClass(string className)
{
this.className = className;
} //无参数构造函数
public CreateInstantiateOfClass() { } public object GetClassInstance(string assembly, string NameSpace)
{
object obj;
Type o = System.Reflection.Assembly.GetExecutingAssembly().GetType(NameSpace + "." + this.className);
if (o == null)
{
return null;
}
else
{
obj = (object)Activator.CreateInstance(o);
} return obj;
}
}
自定义创建实例类
通过上面两步就可生成控件类的实例。
原文链接:http://1.myblogcloudy.sinaapp.com/
Silverlight动态生成控件实例的更多相关文章
- Asp.net web form 动态生成控件的注意事项
Asp.net页面生命周期 页面初始化 Page_Init 加载View State LoadViewState 回发数据处理 LoadPostData ...
- Asp.net中使用文本框的值动态生成控件的方法
这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花 ...
- WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
原文:WPF: WrapPanel 容器的数据绑定(动态生成控件.遍历) 问题: 有一些CheckBox需要作为选项添加到页面上,但是数目不定.而为了方便排版,我选择用WrapPanel ...
- Winforn中使用代码动态生成控件
场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...
- (五)ASP.NET中动态生成控件
今天被问到如何在ASP.NET 页面中动态创建一批控件,并且希望在后续代码中能访问到这些动态创建的控件.我用下面的例子来解释这个问题 ================================= ...
- Unity UGUI动态生成控件
一. 首先你得先清楚RectTransform组件的一些程序控制 1. 先得到UGUI控件上面的RectTransform组件 RectTransform rtr = gameObject.GetCo ...
- (四)动态生成控件,点击button添加控件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- c# winform动态生成控件与获取动态控件输入的值
差不多有2年没有写winform程序,一直都是写bs.最近项目需要,又开始着手写一个小功能的winform程序,需要动态获取xml文件的节点个数,生成跟节点个数一样的textbox, 最后还要获取操作 ...
- 周末充电之WPF(三 ) .后台动态生成控件
布局 -连连看: 代码: private void Window_Loaded_1(object sender, RoutedEventArgs e) { //动态创建行 ; i < ; i++ ...
随机推荐
- STM32之SRAM调试
在学习STM32的时候,由于烧FLASH的所造成的时间会比较慢,而在SRAM中调试的时间会比FLASH快很多,再加上FLASH的时候会经常擦除芯片,会对芯片的寿命造成一定的影响, 其实我本人觉得在学习 ...
- Java实现验证码制作之一Kaptcha验证码
Kaptcha验证码 是google提供的验证码插件,使用起来相对简单,设置的干扰线以及字体扭曲不易让其他人读取破解. 这里我们需要 导入一个 kaptcha-2.3.jar 下载地址:http:/ ...
- 第一章-第六题(帮人抢票,帮人选课这些软件是否合法 你怎么看?)--By梁旭晖
我觉得这些软件是合法的,符合道德规范的. 计算机当初设计的初衷就是简化甚至替代人类的工作.而软件作为计算机硬件的驱动着,其设计就是体现这些原则. 现在互联网上的订票,选课类型的网站还是有很多的,比如: ...
- Redmi Note3 hennessy 刷机过程记录
本文只是凭记忆,记录大致的步骤,提供线索. 准备 刷机包和supersu刷机包,到xiaomi.eu上下载, 如果是稳定版可能有锁bootloader,需要到下载解锁软件.开发版无锁 刷入recove ...
- sql表别名
表名.列明后面接as xx,xx就是表/列的别名,as可省略 别名通常有两个作用 as可省略,as可省略
- php 文件日志类
php文件日志类,按年月日组织目录结构. <?php class FileLog { private $_filepath; //文件路径 private $_filename; //日志文件名 ...
- 安装运行Hadoop
1 准备环境 1.1 Ubuntu 或者 VMware Workstation Pro+Ubuntu 1.2 Jdk 1.3 eclipse 或其他开发工具(可选) 2 安装Hadoop 2.1 从h ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- Apache Kafka – KIP 32,33 Time Index
32, 33都是和时间相关的, KIP-32 - Add timestamps to Kafka message 引入版本,0.10.0.0 需要给kafka的message加上时间戳,这样更方便一些 ...
- 汇编语言标记寄存器标记位_NV UP EI NG NZ AC PE CY
在8086CPU中,有一种标记寄存器,长度为16bit: 其中存储的信息被称为程序状态字(Program Status Word,PSW),以下将该寄存器简称为flag. 功能:1)用来存储相关指令的 ...