2011-10-07 13 views
5

C'è un modo per cambiare il carattere predefinito (Portable User Interface) utilizzato da Silverlight in un font personalizzato senza specificare uno stile per ogni singolo elemento dell'interfaccia utente? Voglio evitare di dover impostare esplicitamente uno stile o associare FontFamily a una risorsa statica.Come si modifica il carattere predefinito utilizzato da Silverlight?

suppongo che posso usare stili impliciti, ma poi ho dovuto farlo per ogni tipo di controllo dell'interfaccia utente: Button, TextBlock, TextBox, ecc, ecc ...

Vorrei poter solo aggiungere questo al mio Dizionario di stile (ma ovviamente non è consentito):

<FontFamily >"TCCEB.TTF#Tw Cen MT"</FontFamily> 

risposta

3

Se si avvolge l'intera applicazione con un ContentControl e si specifica FontFamily in essa, finché non si specifica FontFamily in nessuno dei controlli figlio, il carattere dovrebbe scorrere a tutti.

+1

Grazie, funziona. Ho anche dovuto impostare uno stile implicito per ChildWindow (per i dialoghi modali), perché questo non eredita FontFamily. –

+0

Buono a sapersi. ;) –

0

Questo è quello che abbiamo fatto:

<Application.Resources> 
    <FontFamily x:Key="DefaultFontFamily">/MyName.MyApp;component/Assets/segoeui.ttf#Segoe UI</FontFamily> 

    <Style TargetType="Button"> 
     <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/> 
     <Setter Property="FontSize" Value="14.666"/> 
    </Style> 

    <Style TargetType="HyperlinkButton"> 
     <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/> 
     <Setter Property="FontSize" Value="14.666"/> 
    </Style> 

    ... 

</Application.Resources> 

lungi dall'essere perfetto ho paura.

Problemi correlati