遍历WPF的数据上下文

时间:2015-02-13 05:43:12

标签: wpf tree

给定一个FrameworkElement,如何在C#代码中“向上”遍历DataConext(不绑定)?例如:客户有多个地址,如果我点击地址布局上的按钮,我想找到客户。我已经阅读了关于VisualTree和LogicalTree的MSDN文章,但我很难将它们放在一起。

请发送codez :)

1 个答案:

答案 0 :(得分:1)

理想情况下,您的DataContext实例都是具有父子关系的层次结构的一部分。这样你就可以随时向上移动父链。这是ViewModel方法的优点,其中基类实现维护父引用并在添加子代时自动设置它。如果不是这样的话......

使用以下静态方法向上移动链......

VisualTreeHelper.GetParent

...请注意,该方法需要一个DependencyObject,它是FrameworkElement的基类。