2010-08-25 13 views
5

Gibt es eine Möglichkeit, Pixelschriftarten in Silverlight 4 korrekt darzustellen? Ohne Text in Pfade zu zerlegen oder manuell zu rendern, da der Text von der Datenbindung abhängig ist. Tweaks mit UseLayoutRounding und .5px Positioning Shifting funktionieren nicht. Pixelschriftarten in Silverlight 4

Antwort

3

Haben Sie einfach ein benutzerdefiniertes TextBlock-Steuerelement erstellt, das Text mit einer Pixelschriftart und Anti-Aliasing deaktiviert. Ich wollte OnRender außer Kraft zu setzen Text manuell zeichnen, aber dann erkennen

Pixel Fonts for Silverlight

+0

+1 für extreme Coolness angesichts der Widrigkeiten :) –

+0

Nachdem Sie jetzt Ihre Demo & Lösung geschaut haben, ist es eine Schande, dass ich nicht aufstehen kann das ist mehr als 1. Sehr cool. –

+0

Danke :) Schön das zu hören –

2

MS machen die Schrift anti-aliased, damit sie besser aussieht ... allgemein ... aber das funktioniert natürlich nicht für Pixelschriften, die bereits für eine bestimmte Bildschirmgröße optimiert sind.

Manuelles Rendern von einer Reihe von PNGs wäre die beste Wahl (bis MS eine neue Renderoption hinzufügt).

Sie müssten natürlich Ihren eigenen Font-Manager schreiben und ein Benutzersteuerelement erstellen/unterlegen, um den TextBlock zu ersetzen (so dass Ihre Bindungsmethoden immer noch funktionieren). Ich habe (noch) keinen vorhandenen Pixel-Font-Manager gefunden.

Viel Glück mit Ihrem Projekt.

+0

Zunächst einmal, dass es keine solche Methode in Silverlight 4 :(http://dotnet.uservoice.com/forums/4325-silverlight- feature-Vorschläge/Vorschläge/1015921-Add-Low-Level-Zeichnung-Apis –