WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
原文:WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)

问题:

有一些CheckBox需要作为选项添加到页面上,但是数目不定。而为了方便排版,我选择用WrapPanel面板来作为父容器。那现在的问题就是如何把这些控件添加到这个WrapPanel里了。我想到了两个方法,第一个是先得到控件数目,然后再动态生成并加载到这个WrapPanel里,第二个是设置数据绑定。我想第一个是可行的,但是项目中还涉及到其它问题,所以这里就选择第二个了。问题来了,在WrapPanel中并没有可以用来设置绑定并实现动态生成的东西,那要怎么解决了?

办法:

新建一个ItemsControl控件,并为ItemsSource绑定数据源,然后把ItemsControl.ItemsPanel设置为WrapPanel,最后为ItemsControl.ItemTemplate中的CheckBox.Content绑定数据。

eg:

1、创建数据源类型。

public class business { public string txt { get; set; } }

2、设置数据源

 public MainWindow(){this.InitializeComponent();List<business> che = new List<business>(){new business() { txt = "选项1"},new business() { txt = "选项2"},new business() { txt = "选项3"},new business() { txt = "选项4"},new business() { txt = "选项5"},new business() { txt = "选项6"},new business() { txt = "选项7"}               };ItemsControl.ItemsSource = che;}

3、Xaml中

<ItemsControl  x:Name="itemsControl"  Background="#B28BB2F1"><ItemsControl.ItemsPanel><ItemsPanelTemplate><WrapPanel Orientation="Horizontal"/></ItemsPanelTemplate></ItemsControl.ItemsPanel><ItemsControl.ItemTemplate><DataTemplate><Border Padding="3"><WrapPanel><CheckBox  Content="{Binding txt}"/></WrapPanel></Border></DataTemplate></ItemsControl.ItemTemplate>
</ItemsControl>

调试一下就OK了。

下一篇告诉你怎么遍历这个DataTemplate,并判断哪些checkBox被选中了。

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

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

WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)相关推荐

  1. 动态生成控件的消息处理

    动态生成控件的消息处理 www.diybl.com 时间:2008-04-26 作者:佚名 编辑:本站 点击: 159 [评论] 今天用MFC做了一个动太生成控件的小程序,有关生成的控件 在网上查了一 ...

  2. Winforn中使用代码动态生成控件

    场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...

  3. PB9.0动态生成控件

    在做毕业设计的时候,遇到了用复选框来显示数据库中的信息,但是数量不能确定.因此,需要减低程序显示时和数据库的耦合度,让程序自己可以根据数据库的记录的信息数量变化自动适应.基于该需求用到了动态生成控件. ...

  4. winform中动态生成控件

    最近做winform程序,算是第一次做winform项目吧,记录一下. 本文介绍了如何在一个winform程序中动态创建控件,以下的代码片段演示了在一个pannel容器中动态生成button的功能.详 ...

  5. c#动态生成控件,并为控件注册事件

    今天写了一个动态添加radiobutton控件,并为控件注册一个事件,就顺便写了一个博客 首先为需要的控件new一个对象 RadioButton blackradio = new RadioButto ...

  6. C#动态生成控件并布局

    在某些开发中,我们可能需要根据实际用户需求来动态创建对应的控件,所以下列示例用代码动态创建label标签并进行布局,当然在实际应用开发中,我们可以自定义相关控件,然后利用此方法动态生成 布局有两种方式 ...

  7. 根据下拉框生成控件列表

    我们在开发的时候时常会遇到这样的情况.就是在添加数据的时候需要点击某个按钮增加一行或者增加一个对象等等.正好我这边遇到一个,写一个简单的 方便以后使用. <div class="hea ...

  8. 仿windows造字程序的 ASP.NET图片组合生成控件

    最近项目中做了一个有趣的控件,拿出来根大家分享一下,^_^ .在机械设计领域常常会涉及特殊符号,比如一个零件的检验项目有:垂直度.平行度等等.每个零件的检验项大多都由一个表示该检验项的特殊符号和一个误 ...

  9. C#学习笔记-Winform根据数据自动生成控件

    1.思路 (1)获取一个集合(数据) (2)遍历集合,设置统一的控件样式.设置控件坐标 (3)关联事件 2.实现 项目开发中,当需求发生改变时,UI界面需要简单更改,这时代码就需要去修改,这样子做比较 ...

  10. 动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)

    前言:以前曾写过一篇关于动态生成控件的文章<动态添加控件及将某XML动态加入到Activity显示>,比较浅显,对于RelativeLayout的相关布局设置方法及相对布局与线性布局的混合 ...

最新文章

  1. ​一个参数一张Excel表,玩转Pandas的read_excel()表格读取
  2. 深入理解 runtime
  3. PyTorch机器学习从入门到实战-CH2
  4. 机器人离线编程画圆误差解决方案_工业机器人离线编程-误差分析和解决方案...
  5. PL/SQL Developer调试Oracle存储过程
  6. cdn需要备案吗_cdn需要备案么
  7. PS2251-07 海力士(金士顿U盘量产,成功!)
  8. Julia: map,reduce,mapreduce
  9. 关于AD9的一些使用
  10. cass简码大全_南方CASS简码.doc
  11. C++基础面试问题总结
  12. 迅雷极速版服务器响应,如何阻止迅雷极速版强制更新?这个方法很简单
  13. 如何快速掌握一门技术(代码,软件)
  14. 《2018中国直销银行白皮书》发布 银行面临“颠覆式创新”
  15. 嵌入式Linux驱动笔记(五)------学习platform设备驱动
  16. jaybird+x3+android,小米首款运动耳机
  17. 每步动态解析设置全攻略
  18. MSP430之如何降低系统功耗1
  19. 微软副总裁沈向洋:三十年科研路,我踩过的那些坑
  20. html的script标签,关于html:彻底弄懂script标签

热门文章

  1. 《Java遗传算法编程》—— 1.8 参数
  2. 组队APP功能点定点NABCD分析
  3. python threading编程中的LOCK和RLOCK(可重入锁)
  4. jiangdongsheng
  5. 炸了!JetBrains 宣布:IntelliJ IDEA 彻底弃用 Log4j。。
  6. 冒充中科大少年班校友被打脸!AI 公司创始人被扒清华硕士和斯坦福博士均造假...
  7. 用了几年的 Fastjson,我最终替换成了Jackson!
  8. 为什么 Eureka 比 ZooKeeper 更适合做注册中心?
  9. 为什么像王者荣耀这样的游戏Server不愿意使用微服务??
  10. 电商购物核心架构演进:谁说架构思路会过时?