Другой альтернативой является определение присоединенного свойства:
1) Извлечь новый класс из DataGrid с прикрепленным свойством
Public Class FilteringDataGrid
Inherits DataGrid
Public Shared Function GetFilterProp(ByVal element As DependencyObject) As String
If element Is Nothing Then
Throw New ArgumentNullException("element")
End If
Return CStr(element.GetValue(FilterPropProperty))
End Function
Public Shared Sub SetFilterProp(ByVal element As DependencyObject, ByVal value As String)
If element Is Nothing Then
Throw New ArgumentNullException("element")
End If
element.SetValue(FilterPropProperty, value)
End Sub
Public Shared ReadOnly FilterPropProperty As _
DependencyProperty = DependencyProperty.RegisterAttached("FilterProp", _
GetType(String), GetType(FilteringDataGrid), _
New FrameworkPropertyMetadata(Nothing))
End Class
2) Установите опору в Xaml
<dg:DataGridTextColumn local:FilteringDataGrid.FilterProp="ItemName" x:Name="dbcItemName" Header="Item" >
3) Считайте значение