绑定到datacontext parent-WPF的属性

Hod*_*lom 5 wpf binding datagrid

我有一个DataGrid:

 <DataGrid x:Name="DG" ItemsSource="{Binding}" AutoGenerateColumns="False">
     <DataGrid.Columns>
          <DataGridTextColumn Header="?" Binding="{Binding l}">
          </DataGridTextColumn>
     </DataGrid.Columns>
  </DataGrid>
Run Code Online (Sandbox Code Playgroud)

在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");
        }
    }
Run Code Online (Sandbox Code Playgroud)

我希望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>
Run Code Online (Sandbox Code Playgroud)

那没起效

怎么办呢?

And*_*eev 16

尝试 {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.LName}

我也不会玩名字案件.WPF非常具有案例敏感性.避免使用单符号名称