绑定到ItemsControl中Item的DataContext

时间:2013-07-09 18:17:22

标签: wpf data-binding mvvm

如何从嵌套数据模板(项目数据模板中控件的数据模板)中绑定ItemsControl中Item的DataContext?

我无法使用TemplatedParent,因为它是双重模板化的。 我无法弄清楚如何使用FindAncestor,AncestorType,因为我不知道每个项目的类型是什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果我正确读到这个,你有:

- ItemsControl
  |- ItemTemplate                    Item.DataContext<--|
     |- Button                                          | 
        |- ContentTemplate <-- Bind something in this to|

如果是这种情况,您要找的是ContentPresenter。这是ItemsControl生成的容器类型。问题是你将拥有多个ContentPresenter祖先。您可以使用RelativeSource的{​​{3}}属性来处理此问题。

因此,在我的示例中,DataTemplate的{​​{1}}可以通过以下方式访问该行的Button

DataContext