用于定位 UIElements 的 Silverlight 数据绑定
是否可以通过以某种方式检查正在绑定的业务对象的数据绑定来在 silverlight 中的可视化树上找到 UIElement
(s)。 我想要做的是使用 lambda 表达式(或任何其他方式)从被绑定的元素中定位元素,例如:
var uielements = FindAllUIElements ( (businessObject)=> { businessObject.Firstname; } );
任何人都可以指出我正确的方向吗?
Is it possible to locate UIElement
(s) on the visual tree in silverlight by inspecting the databinding somehow for a business object being bound. What I want to do is locate elements using a lambda expression (or any other means) from the element being bound something like:
var uielements = FindAllUIElements ( (businessObject)=> { businessObject.Firstname; } );
Can anyone point me in the right direction please.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
和微软的人聊过
哈米德的建议是:
遍历可视化树并为该元素上的所有 DP 调用
FrameworkElement.GetBindingExpression(DP)
。 生成的BindingExpression
类有一个名为DataItem
的属性,您可以使用该属性来查看您是否对该绑定感兴趣。Spoke to the guys at microsoft
Hammids suggestion was to:
Walk the visual tree and call
FrameworkElement.GetBindingExpression(DP)
for all DPs on that element. The resultingBindingExpression
class has a property calledDataItem
that you could use to see if you’re interested in that binding.