J'essaie de créer un lien hypertexte qui contient du texte avec super- et/ou des indices. J'ai trouvé deux façons de le faire, et les deux sucent.Exposant/indice dans le lien hypertexte dans WPF
Solution n ° 1: utiliser Typography.Variants. Cela donne un exposant formidable ... pour certaines polices.
<StackPanel>
<TextBlock FontFamily="Palatino Linotype" FontSize="30">
<Hyperlink>R<Run Typography.Variants="Superscript">2</Run></Hyperlink>
(Palatino Linotype)
</TextBlock>
<TextBlock FontFamily="Segoe UI" FontSize="30">
<Hyperlink>R<Run Typography.Variants="Superscript">2</Run></Hyperlink>
(Segoe UI)
</TextBlock>
</StackPanel>
http://www.excastle.com/misc/wpf-superscript-fontvariants.png
est magnifique dans Palatino Linotype; mais pour les polices qui ne prennent pas en charge les variantes, elles sont simplement ignorées, aucune émulation n'est effectuée et le texte est de taille normale, au niveau de base, 100% normal. Je préférerais permettre à mes utilisateurs finaux de sélectionner la police qu'ils veulent utiliser, tout en conservant les super/souscriptions.
Solution n ° 2: utiliser BaselineAlignment. Cela augmente ou réduit le texte de manière appropriée, bien que contrairement à la solution n ° 1, je dois réduire la taille de la police manuellement. Pourtant, c'est efficace pour toutes les polices. Le problème est le soulignement de l'hyperlien.
<TextBlock FontSize="30" FontFamily="Palatino Linotype">
<Hyperlink>
R<Run BaselineAlignment="Superscript" FontSize="12pt">2</Run>
</Hyperlink>
</TextBlock>
http://www.excastle.com/misc/wpf-superscript-baselinealignment.png
Le soulignement est levé et abaissé en même temps que le texte, ce qui semble assez misérable. Je préfère avoir un soulignement continu et ininterrompu sous l'Hyperlien entier. (Et avant que quelqu'un ne suggère une bordure, j'aimerais aussi que l'hyperlien soit en mesure de recouvrir les mots, avec tous les mots soulignés, y compris la première rangée.)
Y at-il un moyen de faire un travail en exposant et en indice dans WPF, dans n'importe quelle police, sans regarder ridiculement mauvais quand souligné?