I got:
<ListView.View GridViewColumnHeader.Click="ColumnHeaderClick">
<GridView>
<GridViewColumn x:Name="Col" Header="Item">
private void ColumnHeaderClick(object sender, RoutedEventArgs e)
{
GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;
}
Now, how to get the x:Name value of GridViewColumn in the method? I can’t put ‘Name’ property for the column in xaml, and it comes like empty string in runtime. Although I am able to get the header, still need to get x:Name value.
When you use the
x:Namesyntax on an element that isn’t aFrameworkElementorFrameworkContentElement, it registers the element with aNameScope. Unfortunately, you can’t retrieve the name for an element, the lookup only works the other way around.If you need to pass additional information about the DataGridColumn, a custom attached property would be an easy way of doing it.
More information about x:Name can be found on MSDN. Also, the NameScope documentation describes its behavior.