WPF 中动态创建和删除控件
原文:WPF 中动态创建和删除控件

动态创建控件

1.容器控件.RegisterName("Name",要注册的控件)   //注册控件

2.容器控件.FindName("Name") as  控件类型            //找到控件并转换成相应类型

注意:仅通过 控件.Name来设置是不能通过FindName来找到控件的,必须注册
动态删除控件
1.容器控件.Children.Remove(控件)                           //移除控件

2.容器控件.UnregisterName("Name")                       //取消注册

其它设置

1.控件.SetValue(Grid.RowProperty, 0);                    //设置控件在Grid面板中的行数
   控件.SetValue(Grid.ColumnProperty, 1);               //设置控件在Grid面板中的列数

2.Canvas.SetLeft("控件名", 50);                                //设置控件在Canvas面板中的横坐标
   Canvas.SetTop("控件名", 50);                                //设置控件在Canvas面板中的纵坐标

eg:

当点击Button_Add按钮的时候在Canvas里添加一个Button;

当点击Button_Remove的时候把这个新加的Button移除;

设:Canvas 的Name为 canvas

代码:

private void Button_Add_Click(object sender, System.Windows.RoutedEventArgs e){Button btn = new Button();//btn.Name = "newButton";//这里设置的Name是找不到的btn.Width = 100;btn.Height= 50;canvas.Children.Add(btn);canvas.RegisterName("newButton", btn);//注册名字,以便以后使用}private void Button_Remove_Click(object sender, RoutedEventArgs e){Button btn = canvas.FindName("newButton") as Button;//找到刚新添加的按钮if (btn != null)//判断是否找到,以免在未添加前就误点了{canvas.Children.Remove(btn);//移除对应按钮控件canvas.UnregisterName("newButton");//还需要把对用的名字注销掉,否则再次点击Button_Add会报错}}

运行一下,就可以了。

posted on 2018-08-28 12:06 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/9547379.html

WPF 中动态创建和删除控件相关推荐

  1. VB6实现动态增加和删除控件数组中的控件2021-06-02

    VB6实现动态增加和删除控件数组中的控件 2021-6-3修改一个BUG 控件的添加: 1From1名称改为FrmWork 2.添加Picture控件名称改为PicCharacterContainer ...

  2. Winform DataGridView单元格中动态添加多个控件

    简介: 在DataGridView的单元格中动态添加多个控件.例如在DataGridViewTextBox单元格中,添加CheckBox和Button控件.主题思路就是一个动态控件的大小,位置,显示, ...

  3. 动态创建asp.net控件之我见

    最近考虑将之前用delphi设计的开发框架思路在asp.net上实现,其中有一项功能时动态生成录入界面,这在form开发程序中比较简单只要设置好动态生成的控件的所有者(owner),及位置还有相关事件 ...

  4. 使用RenderControl方法实现动态加载用户控件

    nsus.NET相信很多网友们均会动态加加载用户控件.如Insus.NET以前写的博文: http://www.cnblogs.com/insus/archive/2012/04/16/2451085 ...

  5. C++ Builder 实现动态生成窗口、控件,以及处理控件事件(转载)

    由于工作需要,应项目需要改用VC,以后可能很少使用BCB了,但还是把它贴吧, 以下代码出自http://blog.csdn.net/hellogv/,引用请注明出处! 废话就不多说,直接开始本文的重点 ...

  6. MFC中动态创建控件以及事件响应实现方法

    本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...

  7. MFC中动态创建控件以及添加事件响应

    本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...

  8. SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(2)--示例篇:创建一个登录控件(原创)(转载本文请注明出处)...

    本文将示例如何运用前篇所写知识来建立一个用户自定义的登录控件.此控件界面非常简单,主要涉及的知识点是:   如何创建用户控件(包括对此控件的自定义事件和属性的编写,此处我们将创建一个名为LoginBo ...

  9. php 动态 控件,PHP技术在动态网页表单控件提取中的应用研究

    曲小纳 摘要:由于电子商务及网络信息技术的飞速发展,动态网站已经逐渐取代传统的静态网站,在不断向人工智能化等方向发展.该篇文章就针对PHP这种技术在动态网页表单控件提取中的应用进行详细的阐述. 关键词 ...

最新文章

  1. apache common-io.jar FileUtils
  2. C++之RAII机制
  3. 函数的作用域在各浏览器的混乱情况
  4. mac iterm 怎么搜索不能输入_Mac高效开发之iTerm2、Prezto和Solarized主题
  5. Java==与equals方法的区别
  6. 如何在IOS平台上使用js直接调用OC方法(转)
  7. keepalived java,keepalived+nginx+tomcat高可用负载均衡
  8. 计算机网络基础知识点
  9. 如何系统学游戏建模?游戏建模必备知识有哪些?
  10. 苹果手机怎么编辑word文档_多人协同编辑一份Word文档用修订功能就对了
  11. 阿里云服务器ECS实例规格性能区别及选择攻略
  12. MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
  13. jQuery发送ajax请求
  14. r7 5800h和r7 4800h 的差别大吗
  15. 关于浅拷贝、深拷贝的探究
  16. 第二十七篇 网页数据解析三种方法: 正则表达--BeautifulSoup--xpath 满满的干货
  17. java对对碰time暂停,优先使用TimeUnit类中的sleep()
  18. 面向对象的软件开发 (转)
  19. 关于python的分支结构、以下选项_关于 Python 的分支结构,以下选项中描述错误的是...
  20. 优秀硕士毕业生发言稿

热门文章

  1. 搜索1008(二分)
  2. mac操作系统自带的文本编辑软件
  3. 二分图匹配的匈牙利算法
  4. Groovy正则表达式复杂逻辑判断实例
  5. plsql developer导出csv乱码问题
  6. c#_文件的保存与读取
  7. mysql数据依赖关系_发现数据库对象的依赖关系
  8. php 效率最高的递归,PHP 递归效率分析_PHP教程 - microtime
  9. 4、计算机图形学——光栅化、抗锯齿、画家算法和深度缓冲算法(Z-buffer)
  10. 三维激光重建原理与实现HALCON