Me puede escribir como este
<TextBox FontWeight="ExtraBold">
</TextBox>
Y puedo escribir como este
<TextBox>
<TextBox.Style>
<Style>
<Setter Property="TextElement.FontWeight" Value="ExtraBold"/>
</Style>
</TextBox.Style>
Pero no entiendo cómo el cuadro de texto interracts con objeto TExtElement. Por ejemplo TExtBlock tiene elementos incorporados a la propiedad. Y MSDN dice lo siguiente "PasswordBox, RichEditBox y TextBox no apoyo a un modelo de objetos de texto que se basa en TextElement." Quién sabe cómo funciona?!
public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner(...);
en el Control.cs. Ver el Origen de la Referencia.