2013-06-06 4 views
4

ViewModel 개체 (예를 들어 VM1)에 바인딩 된 DataContext가있는 창이 있습니다. VM1에는 많은 속성이 있으며 그 중 하나는 "MyTitle"이라는 문자열입니다.ViewModel에서 열 머리글을 속성에 바인딩하는 방법은 무엇입니까? (WPF MVVM)

'Window \ Grid \ DataGrid'에 DataGridTextColumn이 있습니다. DataGridTextColumn의 "Header"속성을 내 VM1 ViewModel의 "MyTitle"속성에 바인딩하려면 어떻게해야합니까?

감사합니다.

답변

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

관련 문제