2011-03-08 38 views
0

我有一个与HeaderTemplate的网格视图,我把一个按钮放在头上,并有一个命令附加到它,我的ViewModel永远不会被调用。 我如何追溯我的ViewModel,好像它变得“迷失”了。GridView HeaderTemplate丢失DataContext

有什么想法?

+0

请提供更多的代码片段信息。 – 2011-03-08 23:40:58

回答

2

使用此:

RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}} 

会带给我回到我的DataContext

0

列HeaderTemplate中是DataGrid的一个生成的控制部分,不必DataGrid的DataContext的直接的VisualTree访问,所以你要添加的RelativeSource AncestorType,并通过在DataContext

"{Binding DataContext.AllSelected, RelativeSource={RelativeSource AncestorType=Window}}" /> 

或明确提及物业你也可以写这个给你模板中的顶部元素

DataContext="{Binding DataContext, RelativeSource={RelativeSource AncestorType=DataGrid}}"