When you use the x:Name
syntax on an element that isn't a FrameworkElement
or FrameworkContentElement
, it registers the element with a NameScope
. 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.
You can leverage reflection to grab the value with:
GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;
String xName = (String)headerClicked.getType().GetProperty("Name").GetValue(headerClicked, null);