Если я правильно проанализировал ваш вопрос, думаю, вы могли бы сделать это:
private void SourceFilePressed(object sender, RoutedEventArgs e)
{
var obj = (sender as FrameworkElement).DataContext;
}
Чтобы объяснить: отправитель является источником события, поэтому это SurfaceButton
.Это FrameworkElement
и, следовательно, имеет свойство DataContext
.DataContext
является унаследованным свойством, поэтому, если вы не укажете его явно для SurfaceButton
, он будет наследовать DataContext
от своего родителя (Grid
).DataTemplate
s DataContext
- это элемент данных, который он шаблонизирует, поэтому вы можете видеть, что SurfaceButton
будет иметь тот же объект, что и его DataContext
.