问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# WPF后台代码动态添加控件

发布网友 发布时间:2天前

我来回答

1个回答

热心网友 时间:2天前

在WPF开发中,尽管可以使用XMAL来创建炫目的界面,但有时需要动态创建控件,即前台界面的控件数量或类型需要根据数据或其他条件来确定。在这种情况下,我们可以在后台的cs代码中编写代码来实现这一功能。

01



功能演示

02



功能说明

从以上演示部分可以看到,前台界面的一部分在窗体加载后并没有显示,而是在解析文件后自动生成的。这种场景在实际应用中也比较常见,尤其是在需要将大量同类型的数据显示到同类型的控件中时。我们可以通过导入txt、Xml等文件的形式来自动生成这些控件。以下是一个本地示例,以演示如何实现这一功能,但请注意,实际应用场景可能并不完全合适。

03



源码实现

前台代码:

这里使用了Caliburn.Micro框架,因此需要引用相应的命名空间。

由于控件数量不确定,需要显示不全时行列可以拖动,实现这一功能只需要将控件包裹在:中即可。

后台代码:

数据模型:

需要注意的是:

①首先StudentGridLoaded和TeacherGridLoaded是在viewModel初始化完成后才加载的,因此在构造函数执行完后它们仍然是null;

②由于加载控件和解析数据比较慢,我将它们放在了Task.Run线程中运行,但是在线程中更新界面需要使用委托实现,这里CM为我们封装了方法;

③:grid行列添加;

④通过代码生成TextEdit,绑定数据并将其添加到grid中;

⑤遍历grid中的控件;

⑥通过反射遍历属性:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
易企秀如何分享链接给微信好友?-易企秀分享链接给微信好友的方法 华为荣耀3c系统辅助功能服务老是自动关闭,求解决方案。 我用一键清理忽... 华为荣耀3c手机双击唤醒屏幕不好用了怎么办? 荣耀手机刷机包从哪下 木地板为啥走过会响 瓷砖块要斜成几度角人踩上去不会烂 刚出生的婴儿肚子胀怎么办 新生儿涨肚子按摩图 刚生小宝宝胀气怎么办 白果怎么炒好吃 白果可以制作哪些美食 C# WPF TabControl用法指南(精品) C# wpf 实现简单自定义MessageBox C# WPF 我想将我的richtextbox控件和image控件当作参数传给函数... ...了宽带帐号啊(之前绑定电信手机号,现在解绑了),现在要重设帐号_百 ... 如何有效去除虾的虾线和虾须? 如何去掉家具清油 装修清油如何去除 请问我下载的视频为何画质不好. 切墙多少钱一个平方? 砌一面墙砸一面墙要多少钱一平方 切红砖墙多少钱一平方 切2平方的墙多少钱 工地切墙多少钱一平方 装修用切割机切墙多少钱一米 现在切墙多少钱一平方 ...为什么前男友总是赞我朋友圈有时候评论 但不私聊我 现在我有男友... 分手俩月了前男友还挑着点赞偶尔评论但不私聊 他心里还有我吗?他是不... 为什么前男友只点赞不联系我 夸唱歌好听的句子幽默(夸唱歌好听的唯美句子集锦) 唱歌好听的文案简短 梦见大便悼一身 ...元器件是( )。 A.电子管 B.晶体管 C.集成电路 D.超大规模集成电路 2... ...元器件是( )。 A.电子管 B.晶体管 C.集成电路 D.超大规模集成电路... 明天考计算机一级了,谁能发给我一些知识点,,,急急急谢谢啦 ...A电子管 B晶体管 C 大规模集成电路 D微电子技术 京东快递电脑显示器损坏怎么赔偿 五十岁女性膝盖痛的可能问题是什么 猜谜语什么心不能吃 波形护栏板产品分类 个人信息管理系统个人信息管理系统 网络教育统考报名分为哪几步? 《堡垒之夜》60号芯片位置介绍 堡垒之夜手游地图资源位置大全 宝箱及材料分布 堡垒之夜65号芯片在哪里_堡垒之夜65号芯片获取攻略 堡垒之夜52号芯片怎么得 堡垒之夜58号芯片在哪_堡垒之夜58号芯片位置 堡垒之夜50号芯片获得方法 本地控制器主控 荷叶粥怎么做法怎么做荷叶粥 知网如何查重登录账号 知网查重账号是什么?