【发布时间】:2013-01-20 08:55:27
【问题描述】:
我有一个数据网格:
<DataGrid x:Name="DG" ItemsSource="{Binding}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="?" Binding="{Binding l}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
在DataGrid的DataContext中有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 示例 -
我编辑了这个问题,如果有必要,那么 l 是一个字符串,也可以使用 Notify ...