2013-06-06 2 views
4

У меня есть окно с DataContext, которое привязывается к объекту ViewModel (например, VM1). VM1 обладает множеством свойств, и одна из них - это строка, которая называется MyTitle.Как связать заголовок столбца с свойством в ViewModel? (WPF MVVM)

У меня есть DataGridTextColumn в 'Window \ Grid \ DataGrid'. Как я могу привязать свойство «Заголовок» в DataGridTextColumn к свойству «MyTitle» в моей модели VM1 ViewModel?

Спасибо!

ответ

16

К сожалению, определения столбцов DataGrid не наследуют DataContext, так как они не являются частью визуального дерева, поэтому вы не можете напрямую привязываться к ViewModel. Вам необходимо обратиться к обходному пути, описанному в статье this article:

<DataGrid.Resources> 
    <local:BindingProxy x:Key="proxy" Data="{Binding}" /> 
</DataGrid.Resources> 

... 

<DataGridTextColumn Header="{Binding Data.MyTitle, Source={StaticResource proxy}}"/> 
+0

Спасибо вам, это работает! – user436862

+0

спасибо тоже, только то, что мне нужно! – user1841243

+0

дайте этому человеку медаль! Спасибо вам большое за это! он отлично работает! – Fredrik

Смежные вопросы