WPF检查数据表是否具有绑定

时间:2009-09-16 16:27:22

标签: c# wpf data-binding listview

HeJ小鼠,

我正在尝试为我的ListView制作som一般功能,以便可以直接将ListView的内容导出为CSV。

我试图通过获取datacontext并分析ICollectionView来实现此目的。从这里我可以通过SourceCollection访问来自ICollectionView的所有对象,其中我(现在)假设排序/和过滤得到尊重。

这里的挑战是我只想输出也在ListView中显示的列。

当迭代我的集合时,是否存在一个函数,如果类中的属性(带有通知suppoert)具有绑定,我可以躲过它?

现在最好的解决方案就是输出所有属性,但我对此并不感兴趣,因为看起来并不好玩。

Thx in advanced。

/伊恩

3 个答案:

答案 0 :(得分:2)

我建议您认识到确定显示哪些数据的能力是业务要求。因此,您应该在模型中体现这一要求。换句话说,您的模型应该清楚地指出哪些列是可见的 - 您不应该尝试从现有属性中推断出这些列,也不应该检查您的视图。

有很多方法可以做到这一点,但关键是要在模型中掌握这些信息。

答案 1 :(得分:0)

为什么不直接查看DataTemplate并对其进行评估,包括内部绑定?

答案 2 :(得分:0)

没有简单的方法可以做到这一点......您可以检查目标端的绑定(依赖属性),但不能检查源端。

对于您尝试执行的操作,您可以遍历ListView的列并检查其DisplayMemberBinding,但可能未定义(可能使用{{定义单元格内容) 1}}属性代替)。