博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 获取 ListView DataTemplate 中控件值
阅读量:5037 次
发布时间:2019-06-12

本文共 1800 字,大约阅读时间需要 6 分钟。

原文:

版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei1988/article/details/50475191

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
(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
(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
(child); if (childOfChild != null) return childOfChild; } } return null; }

posted on
2018-10-21 13:56 阅读(
...) 评论(
...)

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

你可能感兴趣的文章
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
基于LBS功能,Geohash在PHP中运用实例
查看>>
NoClassDefFoundError: org.ksoap2.transport.HttpTransportSE
查看>>
关于MVC与MVP的理解
查看>>
PHP preg_match正则表达式
查看>>
Windows2008R2安装Exchange 2010前必须要做的准备工作
查看>>
了解栈(顺序栈)的实现方法
查看>>
bzoj 3732 Network
查看>>
对象数组
查看>>
Hadoop创建/删除文件夹出错
查看>>
差速移动机器人之建模与里程计
查看>>
Django学习笔记
查看>>
03-THREE.JS GUI使用
查看>>
Python os.path.join 双斜杠的解决方法
查看>>
高并发下线程安全的单例模式
查看>>
Windows下修改Git bash的HOME路径(转)
查看>>
第三章 TCP/IP
查看>>
【cocos2d-x制作别踩白块儿】第一期:游戏介绍
查看>>
发现的最大数量
查看>>