Hochgestellten / tiefgestellten Text in hyperlinks in WPF

Ich versuche, um einen Hyperlink, der text enthält, der mit super - und/oder tiefgestellte Zeichen. Ich habe festgestellt, zwei Möglichkeiten, dies zu tun, und Sie beide saugen.

Lösung #1: verwenden Sie Typografie.Varianten. Dies gibt einen tollen Hochgestellt... für einige Schriftarten.

<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>

Hochgestellten /tiefgestellten Text in hyperlinks in WPF

(Quelle: excastle.com)

Sieht schön aus in Palatino Linotype; aber für Schriften, die keine Unterstützung für Varianten, es wird einfach ignoriert, wird keine emulation durchgeführt, und der text ist full-size, at-baseline 100% normal. Ich würde es bevorzugen, dass meine end-Benutzer die schriftart auswählen, die Sie verwenden möchten, und haben immer noch eine super - /tiefgestellte Zeichen arbeiten.

Lösung #2: verwenden Sie BaselineAlignment. Dies erhöht oder verringert den text angemessen, aber im Gegensatz zu Lösung #1 habe ich verringern Sie die Schriftgröße manuell eingeben. Dennoch ist es wirksam für alle Schriftarten. Das problem ist der Link ist Unterstrichen.

<TextBlock FontSize="30" FontFamily="Palatino Linotype">
  <Hyperlink>
    R<Run BaselineAlignment="Superscript" FontSize="12pt">2</Run>
  </Hyperlink>
</TextBlock>

Hochgestellten /tiefgestellten Text in hyperlinks in WPF

Unterstreichen-ist angehoben und abgesenkt zusammen mit dem text, das sieht ziemlich erbärmlich. Ich würde eher über eine kontinuierliche, ununterbrochene unterstreichen, unter der der ganze Hyperlink. (Und bevor jemand schlägt vor, eine Grenze, ich möchte auch den Hyperlink, um der Lage sein, word-wrap, alle Worte Unterstrichen, einschließlich der ersten Zeile.)

Gibt es eine Möglichkeit, um hoch-und Tiefstellen von Arbeit in WPF, in jeder schriftart, ohne sich lächerlich schlecht, wenn Unterstrichen?

InformationsquelleAutor Joe White | 2009-08-09
Schreibe einen Kommentar