c# - 查找绑定(bind)到对象的 XAML 框架元素

标签 c# .net wpf silverlight xaml

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

编辑: 假设我有一个分配给 EmployeeViewDataContextEmployeeViewModel 和一个 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 中(因此您可以做的事情可能会受到更多限制)。

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

  1. 反射(reflection)
  2. 标记对象/标记编写器
  3. TypeDescriptor+DependencyPropertyDescriptor
  4. 自定义绑定(bind)标记扩展

看看这个链接。

他使用反射并建议这是实现它的经典方法...但也提到 MarkupWriter 作为另一种可能性。注意:反射方法不会发现可能具有绑定(bind)的附加属性。

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

相关链接:

关于c# - 查找绑定(bind)到对象的 XAML 框架元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485141/

相关文章:

c# - DDD : Entity identity before being persisted

c# - Visio 和 C# 编程

c# - 为什么我从两个几乎相等的表达式中得到不同的结果以使用 Entity Framework 上下文从数据库中获取数据

c# - 我可以使用 RandomNumberGenerator.GetInt32() 方法生成密码安全的随机字符串吗?

c# - 是否可以使用 StringFormat 将 ""(引号)添加到绑定(bind)中

c# - string.split - 按多字符分隔符

c# - 删除菜单项周围的细边框

c# - WPF 中的高级/复杂快捷方式

c# - NHibernate 从类生成映射?

c# - 以编程方式选择 wpf 数据网格行并突出显示