Estoy tratando de hacer un hipervínculo que contenga texto con super- y/o subíndices. He encontrado dos formas de hacer esto, y ambos apestan.Superíndice/subíndice en hipervínculo en WPF
Solución n. ° 1: use Typography.Variants. Esto da un excelente superíndice ... para algunas fuentes.
<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
se ve hermosa en Palatino Linotype; pero para las fuentes que no admiten variantes, simplemente se ignora, no se realiza la emulación, y el texto es de tamaño completo, al inicio del estudio, 100% normal. Preferiría permitir que mis usuarios finales seleccionen la fuente que quieren usar, y aún así tienen super/subíndices.
Solución n. ° 2: use BaselineAlignment. Esto aumenta o reduce el texto de forma apropiada, aunque a diferencia de la solución n. ° 1, tengo que disminuir el tamaño de la fuente manualmente. Aún así, es efectivo para todas las fuentes. El problema es el subrayado del hipervínculo.
<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
El subrayado es subido y bajado junto con el texto, que se ve muy infeliz. Prefiero tener un subrayado continuo e ininterrumpido debajo de todo el hipervínculo. (Y antes de que alguien sugiera un borde, también me gustaría que el hipervínculo pueda ajustar las palabras, con todas las palabras subrayadas, incluida la primera fila.)
¿Hay alguna manera de hacer que los superíndices y los subíndices funcionen? en WPF, en cualquier fuente, sin parecer ridículamente malo cuando está subrayado?