WPF 获取 ListView DataTemplate 中控件值
来源:互联网 发布:2016旅行软件比例 编辑:程序博客网 时间:2024/05/18 19:23
RT
虽然DataTemplate 是用来绑定的,一般用ONE TWOWAY 来绑定传递或获取数据.
但是今天这个需求真是没办法,在绑定的模板内添加了一个非绑定的数据,需要手动取值.
解决方案原理:
https://msdn.microsoft.com/zh-cn/library/bb613579.aspx
foreach (var item in FListView.Items) { var myListBoxItem = (ListViewItem)FListView.ItemContainerGenerator.ContainerFromItem(item); // Getting the ContentPresenter of myListBoxItem var myContentPresenter = FindVisualChild<ContentPresenter>(myListBoxItem); // Finding textBlock from the DataTemplate that is set on that ContentPresenter DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; var obj = myDataTemplate.FindName("CheckNum", myContentPresenter);//CheckNum 是在模板内定义的 x:Name var checkNum = obj as NumericControl;//自定义控件 if (checkNum != null) {//...do something } }
private childItem FindVisualChild<childItem>(DependencyObject obj) where childItem : DependencyObject { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child != null && child is childItem) return (childItem)child; else { childItem childOfChild = FindVisualChild<childItem>(child); if (childOfChild != null) return childOfChild; } } return null; }
0 0
- WPF 获取 ListView DataTemplate 中控件值
- WPF 遍历DataTemplate(获取所有控件)
- WPF 遍历DataTemplate(获取所有控件)
- WPF 遍历DataTemplate(获取所有控件)
- WPF中何时使用DataTemplate
- WPF 点击 datatemplate 里面的控件,获取相应绑定的数据
- WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探
- WPF DataTemplate
- WPF中模板(ControlTemplate and DataTemplate)
- WPF中DataTemplate基本原理与缺陷分析
- WPF中DataTemplate基本原理与缺陷分析
- 使用VisualTreeHelper获取DataTemplate中的控件
- WP ListBox 遍历DataTemplate(获取所有控件)
- C#中如何获取ItemsControl的DataTemplate中定义的控件?
- WPF ListView控件中CheckBox全选联动
- WPF中如何使用C#创建DataTemplate数据模版
- WPF(初识DataTemplate)
- WPF GridViewColumn Sort DataTemplate
- [IMX6Q]u-boot环境变量存储到.text段
- 白话网络技术点
- CSS中样式 display 属性 inline,block及inline-block
- 很方便的API查询网站
- BufferedReader and BufferedWriter基本用法。
- WPF 获取 ListView DataTemplate 中控件值
- 直接拿来用!十大Material Design开源项目
- Android开发总结笔记 AsyncTask 5-2
- Enum枚举类型
- clipChildren与canvas的关系,导致有background属性时会遮住
- 我的MYSQL学习心得(十三) 权限管理
- Sublime Text2安装Package Control和插件
- QT xml转ini的实现(从C#转到QT)
- java集合-List