1

如何查找和访问绑定到 XAML 中的对象的元素?

编辑:假设我有一个EmployeeViewModel分配给EmployeeView'sDataContext和 aEmployeeModel在我的内部EmployeeViewModel,我想知道我的模型的哪些属性绑定到 View 的框架元素(控件)我还想访问绑定到我的模型属性的每个控件.

4

2 回答 2

2

您可以使用反射循环遍历属性并在每个属性上使用 FrameworkElement.GetBindingExpression 来为给定的框架元素构建其所有绑定。

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.getbindingexpression

于 2012-07-14T16:18:22.230 回答
2

更新:鉴于 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


供想要发现绑定的人参考:

您没有提及您的 XAML 是在 WPF、Silverlight、Metro 还是 Phone7 中(因此您可以做的事情可能会受到更多限制)。

似乎有几种可能的方法可以做你想做的事:

  1. 反射
  2. MarkupObject / MarkupWriter
  3. 类型描述符+依赖属性描述符
  4. 自定义绑定标记扩展

看看这个链接。

他使用反射并建议这是执行此操作的经典方式......但也提到 MarkupWriter 作为另一种可能性。注意:反射方法不会发现可能有绑定的附加属性。

以下是一些使用 MarkupWriter 的链接...这将允许您发现附加的属性。

相关链接:

于 2012-07-18T13:00:18.513 回答