Encuadernación en una columna de texto de cuadrícula de datos WPF

Estoy tratando de construir una cuadrícula de datos donde una de las columnas es un nombre de fuente que se muestra en esa fuente. Anteriormente, estaba trabajando con un cuadro de lista donde había definido la siguiente plantilla:

<TextBlock Text="{Binding Path=Name}" FontFamily="{Binding Path=Name}"/>

Esto funcionó bien. Entonces, modifiqué la estructura de datos (Name se convirtió en Font.Name) y pasé a una cuadrícula de datos para probar esto:

<dg:DataGridTextColumn Binding="{Binding Font.Name}" 
    FontFamily="{Binding Font.Name}" IsReadOnly="True" Header="Font"/>

Ahora los nombres de las fuentes se muestran en la fuente predeterminada, y aparece este error:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or 
FrameworkContentElement for target element. 
BindingExpression:Path=Font.Name; DataItem=null; target element is 
'DataGridTextColumn' (HashCode=56915998); target property is 'FontFamily' 
(type 'FontFamily')

Algunos resultados de Google que tratan con controles personalizados sugieren cambiar la propiedad de DependencyObject a FrameworkElement, pero tendría que heredar DataGridTextColumn y definir mi propia propiedad para hacerlo; debe haber una mejor manera.

He intentado varios enfoques diferentes para el enlace, incluido el intento de cambiar solo el tamaño de fuente con una propiedad distinta en mi clase de datos (es decir,FontSize="{Binding FontSize}"). Todos han resultado en el mismo error que el anterior.

¿Alguien sabe lo que estoy haciendo mal aquí?

Editar

Gracias a la respuesta de Jared, encontré lo siguiente:

http: //blogs.msdn.com/jaimer/archive/2008/11/22/forwarding-the-datagrid-s-datacontext-to-its-columns.asp

El método parece sólido, pero necesito hacer un enlace que haga referencia al elemento correcto en el DataContext para cada fila, en lugar de compartir un solo valor para toda la columna.

Código detrás

fontDataGrid.DataContext = from font 
    in new InstalledFontCollection().Families;

XAML:

Binding="{Binding Font.Name}"
FontFamily="{Binding (FrameworkElement.DataContext).Font.Name, 
    RelativeSource={x:Static RelativeSource.Self}}"

Usar el XAML anterior claramente no es correcto, porque DataContext es la colección completa de fuentes. Pero no puedo indexar la colección, ya que no sé cuál es el número de fila (¿o no?). ¿Hay algún enfoque que pueda usar para lograr esto?

Y una pregunta secundaria: ¿por qué el atributo Binding parece funcionar bien, incluso sin el DataContext? ¿Está mirando ItemsSource en su lugar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta