Sto provando a creare un collegamento ipertestuale che contenga testo con super- e/o pedici. Ho trovato due modi per farlo, ed entrambi fanno schifo.Apice/pedice in collegamento ipertestuale in WPF
Soluzione n. 1: utilizzare Typography.Variants. Questo dà un magnifico apice ... per alcuni tipi di carattere.
<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
sembra bello in Palatino Linotype; ma per i caratteri che non supportano le varianti, viene semplicemente ignorato, non viene eseguita alcuna emulazione e il testo è a dimensione intera, al basale, al 100% normale. Preferirei consentire ai miei utenti finali di selezionare il tipo di carattere che si desidera utilizzare e avere ancora il lavoro super/subscripts.
Soluzione n. 2: utilizzare BaselineAlignment. Ciò solleva o abbassa il testo in modo appropriato, sebbene a differenza della soluzione n. 1, devo diminuire manualmente la dimensione del carattere. Tuttavia, è efficace per tutti i tipi di carattere. Il problema è la sottolineatura del collegamento ipertestuale.
<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
La sottolineatura viene sollevata ed abbassata insieme al testo, che sembra piuttosto misera. Preferirei avere una sottolineatura continua e ininterrotta sotto l'intero collegamento ipertestuale. (E prima che qualcuno suggerisca un Border, mi piacerebbe anche che il collegamento ipertestuale fosse in grado di eseguire il word-wrap, con tutte le parole sottolineate, compresa la prima riga.)
C'è un modo per rendere apice e pedice lavoro in WPF, in qualsiasi font, senza sembrare ridicolo quando sottolineato?