2016-01-11 18 views
6

Ho un textBox che cresce verticalmente durante la digitazione. Sfortunatamente quando digito un lungo testo (ad esempio un testo a 3 righe) alcune parti di esso vengono sfocate. Inoltre, quando impedisco che cresca verticalmente e faccia crescere orizzontalmente, funziona bene - allora il testo è nitido.WPF - Il testo Multiline TextBox diventa sfocato mentre si digita un lungo testo

Quello che ho provato:

UseLayoutRounding = true; 
RenderOptions.TextRenderingMode = "ClearType"; 

Si prega di dimenticare

TextOptions.TextFormattingMode = "Display" 

deve essere "Ideal".

Vedi le screenshots:

enter image description here enter image description here

+4

Dai un'occhiata a queste risposte: [WPF Blurry font issue- Solutions] (http://stackoverflow.com/questions/190344/wpf-blurry-fonts-issue-solutions) –

+1

Nulla sembra funzionare lì per me. –

+8

Si prega di includere abbastanza codice per riprodurre il problema. È specifico per una determinata versione di Windows, versione .net, rendering software o hardware, scheda video, ecc.? –

risposta

1

Dal momento che lei ha citato:

ho una casella di testo che si sviluppa in verticale durante la digitazione

Presumo quindi che si tratta di un CustomControl derivato da TextBox e con un rendering personalizzato per crescere verticalmente invece di utilizzare il testo incorporato wrap capacità.

Dal momento che ero in grado di riprodurre il problema con il brodo TextBox ei parametri (con Ideal) lei ha citato (ho controllato dal Framework 4.0 a 4.6 da VS 2013), forse la sfocatura proviene da il tuo codice personalizzato.

A proposito, con non utilizzare l'involucro incorporato?

TextWrapping="Wrap" 

Forse si dovrebbe includere più codice e dettagli, come la versione quadro, la versione di Visual Studio, versione del sistema operativo e così via.

Allo stesso modo, specificare la versione di "Casella di testo che cresce verticalmente". Qualcosa come this?

2

Disabilitare il rendering di SubPixel e l'anti-aliasing. Prova

SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased); 
1

Prova ad aumentare la dimensione del carattere della casella di testo solo una piccola quantità (usa 1/4 in pixel). In alternativa, provare a modificare leggermente l'altezza della linea in modo simile. Penso che il problema potrebbe essere dovuto all'interpretazione dei sub-pixel da parte di WPF e potrebbe essere l'arrotondamento nel punto sbagliato.

Problemi correlati