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++ ...
随机推荐
- java读取xml文件
public ArrayList getMessage(){ String xmlFileName = null; List list = new ArrayList(); MessageBean m ...
- Daily Scrum02 12.10
不同于往常,今天我们在中午体育课后,就简单的进行了一次小组会议,主要是讨论了一下,我们的单词软件的查询功能的优化的进度与暂时达到的效果,界面的各个按钮等元素的素材的准备有点拖慢,由于要反复修改,查看效 ...
- Sublime 常用插件简介
Sublime 常用插件简介 emmet: 前端必备神器.花个十几分钟学下Emmet语法 ,就可以极大提高web开发者HTML和CSS工作效率啦.一句话,牛逼---必备 CSS3: CSS3语法高 ...
- C++中 引入虚基类的作用
当某类的部分或全部直接基类是从另一个基类共同派生而来时,这直接基类中,从上一级基类继承来的成员就拥有相同的名称,派生类的对象的这些同名成员在内存中同时拥有多个拷贝,同一个函数名有多个映射.可以使用作用 ...
- Final-阶段站立会议6
组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...
- http详解
mac地址是网卡出厂的时候给定的固定地址.ip是当前节点被分配的地址,mac和ip相互配对: ip间通信- http本身是无状态无连接的,因为有这样的特性才能让他适用于当今这么复杂的网络环境. 但是有 ...
- can't resolve symbol 'R' ...
in android studio IDE: 解决: Tools -> Android -> Sync Project with Gradle Files
- 使用Java开发高性能网站需要关注的那些事儿
无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说, ...
- VC中对文件的读写
http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2.电脑处理 ...
- sprint3总结
经过了半个学期以来的sprint冲刺,并且充分学习了android开发后对项目有了更加充分的认识理解,开发速度自然而然就上来了,没有了上一个学期的懵懂,虽然开发起来还是比较困难,但是胜在有同组组员帮忙 ...