如何查找和访问绑定(bind)到 XAML 中的对象的元素?
编辑: 假设我有一个分配给 EmployeeView
的 DataContext
的 EmployeeViewModel
和一个 EmployeeModel
在我的 EmployeeViewModel
中,我想知道我的模型的哪些属性绑定(bind)到 View 的框架元素(控件)我还想访问绑定(bind)到我的模型属性的每个控件.
最佳答案
更新:根据 SaberAmani 澄清的问题,他正在尝试向他的模型添加验证并显示验证摘要。请参阅下面的链接。
http://msdn.microsoft.com/en-us/magazine/ff714593.aspx
http://codeblitz.wordpress.com/2009/05/12/wpf-validation-summary-control/
http://wpfvalidation.codeplex.com/
http://f10andf11.blogspot.co.uk/2012/02/wpf-validation-summary-control.html
供想发现绑定(bind)的人引用:
您没有提及您的 XAML 是在 WPF、Silverlight、Metro 还是 Phone7 中(因此您可以做的事情可能会受到更多限制)。
似乎有几种可能的方法来做你想做的事:
- 反射(reflection)
- 标记对象/标记编写器
- TypeDescriptor+DependencyPropertyDescriptor
- 自定义绑定(bind)标记扩展
看看这个链接。
他使用反射并建议这是实现它的经典方法...但也提到 MarkupWriter 作为另一种可能性。注意:反射方法不会发现可能具有绑定(bind)的附加属性。
这里有一些使用 MarkupWriter 的链接...这将允许您发现附加的属性。
相关链接:
关于c# - 查找绑定(bind)到对象的 XAML 框架元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485141/