GridView HeaderTemplate Lost DataContext - PullRequest
       1

GridView HeaderTemplate Lost DataContext

0 голосов
/ 09 марта 2011

У меня есть gridview с HeaderTemplate, я помещаю кнопку в заголовок и к нему прикреплена команда, моя ViewModel никогда не вызывается.Как мне отследить мою ViewModel, похоже, что она «теряется».

есть идеи?

Ответы [ 2 ]

3 голосов
/ 09 марта 2011

используя это:

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

вернет меня к моему DataContext.

0 голосов
/ 18 января 2014

Столбец HeaderTemplate является сгенерированной управляющей частью DataGrid и не имеет прямого доступа VisualTree к DataContext DataGrid, поэтому необходимо добавить RelativeSource AncestorType и явно обратиться к свойству через DataContext

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

или вы также можете написать это верхнему элементу в шаблоне

 DataContext="{Binding DataContext, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...