WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
2011-09-02 11:14
441 查看
问题:
有一些CheckBox需要作为选项添加到页面上,但是数目不定。而为了方便排版,我选择用WrapPanel面板来作为父容器。那现在的问题就是如何把这些控件添加到这个WrapPanel里了。我想到了两个方法,第一个是先得到控件数目,然后再动态生成并加载到这个WrapPanel里,第二个是设置数据绑定。我想第一个是可行的,但是项目中还涉及到其它问题,所以这里就选择第二个了。问题来了,在WrapPanel中并没有可以用来设置绑定并实现动态生成的东西,那要怎么解决了?
办法:
新建一个ItemsControl控件,并为ItemsSource绑定数据源,然后把ItemsControl.ItemsPanel设置为WrapPanel,最后为ItemsControl.ItemTemplate中的CheckBox.Content绑定数据。
eg:
1、创建数据源类型。
2、设置数据源
3、Xaml中
下一篇告诉你怎么遍历这个DataTemplate,并判断哪些checkBox被选中了。
有一些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被选中了。
相关文章推荐
- WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
- treeview控件(动态数据绑定+整行选择)(WPF)(一)
- WPF 动态生成DataGrid及动态绑定解决方案
- ASP.NET动态生成输入页面,以及生成控件的大小控制,输入数据的验证等
- JS动态生成ID+JS绑定数据
- WPF的数据绑定之控件源绑定以及代码方式绑定
- Repeater 的操作,数据的显示,绑定,动态取控件中的值和Repeater1_ItemCommand事件的相关用法
- 周末充电之WPF(三 ) .后台动态生成控件
- WPF 依赖属性,用户控件依赖属性(DependencyProperty 依赖属性、GetValue() SetValue() CLR属性包装器、SetBinding 数据绑定)
- WPF中动态生成控件 完整代码
- .NET各大平台数据列表控件绑定原理及比较(WebForm、Winform、WPF)
- Accordion控件动态数据绑定案例
- 微软WPF技术应用与实践系列(窗体与导航+容器+模型+数据绑定配多个应用案例)
- 黑马程序员——wpf数据绑定控件笔记
- jQuery中动态生成数据使用on绑定无效的问题;
- 潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据
- Mobiscroll控件动态绑定数据
- WPF 点击 datatemplate 里面的控件,获取相应绑定的数据
- excel每一条数据 生成成一个word模板,(模板里面的字段需要动态的绑定excel属性)
- asp.net动态生成控件,并为控件绑定事件