这个问题在SO上被问过几次(比如here和here),但这些是一些较旧的问题,没有使用反射就没有答案。所以,我只想再次询问它是否有变化,以及我们现在是否有东西可以访问它。它可能与绑定的核心功能有关,阻止微软实现它,但我想试一试。
我应该能够在TextBox
控制范围内进行此操作。我得到这样的绑定:
Binding bind = GetBindingExpression(TextProperty)?.ParentBinding;
但是没有看到任何可以帮助我获取源属性类型的内容。
答案 0 :(得分:0)
没有任何改变。您可以使用绑定的Source
属性或DataContext
的{{1}}来获取对源的引用:
TextBox
但是要获取要绑定的属性的类型,必须使用反射:
Type sourceType = bind.Source?.GetType();
if (sourceType == null)
sourceType = DataContext?.GetType();
WPF(仍)使用反射来解析属性值。