У меня есть DataGrid:Привязка к свойству DataContext WPF
<DataGrid x:Name="DG" ItemsSource="{Binding}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="?" Binding="{Binding l}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
В DataContext в DataGrid есть коллекция класса X:
public ObservableCollection<xxx> col{ get; set; }// = DataContext of DG
private string lName;
public string LName
{
get { return lName; }
set
{
lName= value;
NotifyPropertyChanged("LName");
}
}
Я хочу LName будет заголовок определенного столбца DataGrid
Я стараюсь так:
<DataGridTextColumn Binding="{Binding l}">//l=prop of xxx class that contains the collection
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.LName,
RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
Это не сработало
как это можно сделать?
Что такое 'l' - Пожалуйста, разместите лучший пример вашего ViewModel – Blachshma
Я отредактировал вопрос, если это так необходимо, то строка l и также работа с Notify ... –