Tôi có một DataGrid:Ràng buộc đối với tài sản của DataContext huynh WPF
<DataGrid x:Name="DG" ItemsSource="{Binding}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="?" Binding="{Binding l}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Trong DataContext của DataGrid có bộ sưu tập của lớp X:
public ObservableCollection<xxx> col{ get; set; }// = DataContext of DG
private string lName;
public string LName
{
get { return lName; }
set
{
lName= value;
NotifyPropertyChanged("LName");
}
}
Tôi muốn lname sẽ là tiêu đề của một cột cụ thể trong DataGrid
Tôi thử cách này:
<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>
Nó không làm việc
thế nào có thể làm được điều này?
'l' là gì - Vui lòng đăng ví dụ tốt hơn về ViewModel – Blachshma
Tôi đã chỉnh sửa câu hỏi, nếu cần thiết thì l là một chuỗi và cũng làm việc với Thông báo ... –