Ligação em uma coluna de texto da grade de dados WPF

Estou tentando criar uma grade de dados em que uma das colunas é um nome de fonte exibido nessa fonte. Anteriormente, eu estava trabalhando com uma caixa de listagem onde havia definido o seguinte modelo:

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

Isso funcionou muito bem. Então, ajustei a estrutura de dados (o nome se tornou Font.Name) e fui para uma grade de dados para tentar o seguinte:

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

Agora, os nomes das fontes são todos exibidos na fonte padrão e recebo este erro:

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')

Alguns resultados do Google que lidam com controles personalizados sugerem a alteração da propriedade de DependencyObject para FrameworkElement, mas eu teria que herdar DataGridTextColumn e definir minha própria propriedade para fazer isso - deve haver uma maneira melhor.

Tentei várias abordagens diferentes para a ligação, incluindo a tentativa de alterar apenas o tamanho da fonte com uma propriedade distinta na minha classe de dados (ou seja,FontSize="{Binding FontSize}") Todos eles resultaram no mesmo erro acima.

Alguém sabe o que estou fazendo de errado aqui?

Editar:

Graças à resposta de Jared, encontrei o seguinte:

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

O método parece sólido, mas preciso fazer uma ligação que faça referência ao elemento correto no DataContext para cada linha, em vez de compartilhar um único valor para a coluna inteira.

Código por trá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 o XAML acima claramente não está correto, porque DataContext é toda a coleção de fontes. Mas não consigo indexar a coleção, pois não sei qual é o número da linha (ou não?). Existe alguma abordagem que eu possa usar para conseguir isso?

E uma pergunta secundária - por que o atributo Binding parece funcionar bem, mesmo sem o DataContext? Ele está olhando para o ItemsSource?

questionAnswers(2)

yourAnswerToTheQuestion