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++ ...
随机推荐
- HUAS_ACM 个人训练#2 C
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=117538#problem/C 题目大意:给出一个字符串,然后给出一系列的x,y ...
- 无聊拆中国银行密码器和农业银行U盾
原始状态 不知从何下手,直接斜口钳暴力剪开 开始露出电路板了,继续拆 拆完是这样的,屏幕没有焊接,直接靠外壳压上去的 背面图 相对而言,农行的就很好拆 后盖很好撬开 前面就是按键,没什么,屏是1286 ...
- GAME AI Pro 1 第1章
和钱康来合作翻译的AI PRO 1和2 系列,计划是一周一篇,先捡着有意思的翻,对那篇有兴趣也可以留言给我优先翻译,希望都翻译好后有机会成书吧,有兴趣一起翻译的也可以联系我. 游戏人工智能是什么( W ...
- JQ第一天
1.jQ中最常用对象是$对象,$是jQ的简写.只有将普通的Dom对象封装成jQ对象,才能使用其中方法,jQuery(document).ready()是允许多个的,$(fn)与$(document). ...
- UNIX常用命令
以下只说明各常用指令的基本用法, 若需详细说明, 请用 man 去读详细的 manual. 1.关於档案/目录处理的命令 ls--列目录 这是最基本的档案指令. ls 的意义为 "list& ...
- LintCode Longest Common Subsequence
原题链接在这里:http://www.lintcode.com/en/problem/longest-common-subsequence/ 题目: Given two strings, find t ...
- iOS:个人浅谈工厂模式
一.什么是工厂方法? 正式的解释是:在基类中定义创建对象的一个接口,让子类决定实例化哪个类.工厂方法让一个类的实例化延迟到子类中进行.工厂方法要解决的问题是对象的创建时机,它提供了一种扩展的策略,很好 ...
- Excel筛选之后如何下拉递增
1.痛点 Excel表格,通过筛选了之后,再想统计行数,通过单纯的拖动或者填充排序啥的,都无法做到排序或行数递增: 2.解决方案 发现了个excel的公式可以完美解决该问题,赞个,找的好辛苦. 3.大 ...
- css初始化样式代码
为什么要初始化CSS? CSS初始化是指重设浏览器的样式.不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一.如果没对CSS初始化往往会出现浏览器之间的页面差异.每次新开发 ...
- CentOS6.6安装vmware workstation报错
本人系统用的是centos6.6,安装了vmware workstation,启动后一直如下图报错,相关内核已经安装了的,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.