给定一个FrameworkElement,如何在C#代码中“向上”遍历DataConext(不绑定)?例如:客户有多个地址,如果我点击地址布局上的按钮,我想找到客户。我已经阅读了关于VisualTree和LogicalTree的MSDN文章,但我很难将它们放在一起。
请发送codez :)
答案 0 :(得分:1)
理想情况下,您的DataContext实例都是具有父子关系的层次结构的一部分。这样你就可以随时向上移动父链。这是ViewModel方法的优点,其中基类实现维护父引用并在添加子代时自动设置它。如果不是这样的话......
使用以下静态方法向上移动链......
VisualTreeHelper.GetParent
...请注意,该方法需要一个DependencyObject,它是FrameworkElement的基类。