9 Stimmen

Visual Studio 2010: Text wird beim Scrollen unscharf

Ich habe ein Problem mit Visual Studio 2010. Es passiert, wenn ich nach unten/oben scrollen, zum Beispiel im Eigenschaftenfenster. Sein Inhalt wird für Millisekunden unscharf.

Es passiert auch in meinen eigenen WPF-Anwendungen, wenn ich einen "ScrollViewer" verwende.

Weiß jemand, wie man das Problem lösen kann?

6voto

Ray Burns Punkte 60870

In Ihren eigenen WPF-Anwendungen ist es möglich, Scroll-Offsets auf Gerätepixel zu beschränken, indem Sie eine benutzerdefinierte IScrollInfo Umsetzung. Dies ist einfach zu bewerkstelligen. Beachten Sie, dass Sie den aktuellen DPI-Wert des Bildschirms ermitteln um die Berechnung durchzuführen.

In Visual Studio gibt es keinen "vernünftigen" Weg, dies zu beheben. Offensichtlich müssen Sie podría die VS.NET-Executables hacken, um Ihre eigene IScrollInfo-Implementierung einzubinden, aber ich würde das nicht empfehlen!!

3voto

Jerry Coffin Punkte 452852

Die einzige Möglichkeit, das Problem zu vermeiden, ist, WPF ganz zu meiden. So schön wie es in mancher Hinsicht ist, es ist immer noch 1 den Text nicht ganz korrekt wiedergibt. Und ja, WPF ist die Quelle des Problems in Visual Studio - ab VS 2010 wechselten sie Teile davon, um WPF zu verwenden.

1 "immer noch", in diesem Fall bezieht sich das auf die Tatsache, dass es früher noch schlimmer war. Mit .NET 4.0 wurden einige der gravierendsten Probleme behoben, aber (wie Sie gesehen haben) ist es immer noch nicht ganz richtig.

1voto

Riki Punkte 1707

Ich hatte das gleiche Problem. Es gibt tatsächlich eine Möglichkeit, dieses Problem beim Scrollen zu beheben. Fügen Sie einfach diese 3 Attribute zu Ihrer Inhaltssteuerung hinzu:

SnapsToDevicePixels="True" UseLayoutRounding="True"  TextOptions.TextFormattingMode="Display"

Beachten Sie nur, dass der Text beim Scrollen möglicherweise nicht so flüssig aussieht, wie er sollte (das ändert sich aber sofort, wenn Sie aufhören zu scrollen).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X