Intentar hacer scroll bar

Iniciado por Meta, 23 Diciembre 2015, 01:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Meta

#10
Hola:

Muchas gracias, ahora funciona de maravilla.

Código (csharp) [Seleccionar]
                      // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


Felices fiestas campeón. ;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Meta

Hola:

Cuando me entra los datos, me entras uno seguido del otro como muestra aquí.


Debe verse uno encima del otro como indica abajo.


Este es su código.
Código (csharp) [Seleccionar]
            // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


He intentado hacer esto.
Código (csharp) [Seleccionar]
richTextBox.Document = doc + "\n";
Gravedad   Código   Descripción   Proyecto   Archivo   Línea
Error   CS0029   No se puede convertir implícitamente el tipo 'string' en 'System.Windows.Documents.FlowDocument'   Entrada_Arduino_WPF_2_CS   C:\Users\Usuario\Documents\Visual Studio 2015\Projects\Entrada_Arduino_WPF_2_CS\Entrada_Arduino_WPF_2_CS\MainWindow.xaml.cs   76

He intentado todo el rato con más cosas. Lo único que funciona, si en el dispositovo pongo el "\n". No me interesa, quiero hacerlo desde la interfaz WPF C#.

¿Alguna idea?

Falices fiestas 2015. ;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Eleкtro

#12
Cita de: Meta en 28 Diciembre 2015, 00:18 AMHe intentado hacer esto.
Código (csharp) [Seleccionar]
richTextBox.Document = doc + "\n";

Ay! señor...

El salto de linea debes añadírselo al string:
Código (csharp) [Seleccionar]
doc.Blocks.Add(new Paragraph(new Run(Recibidos + "\n")));

...¡Si es que esto ya lo sabes!.

saludos!








Meta

Hola:

Ese ejemplo me voldi´de decir que también lo he hecho, compila pero no funciona, se comporta como si no estuviera el "\n".

Tiene que haber otra forma.

Tampoco funciona así, lo pongo por si acaso alguien cree que funcine y no.
Código (csharp) [Seleccionar]
            // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
            doc.Blocks.Add(new Paragraph(new Run("\n")));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Eleкtro









Meta

#15
Hola:

Así no funciona.
Código (csharp) [Seleccionar]
           // Muestra el scroll vertical.
           richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

           // Asignar el valor de la trama al richTextBox.
           var doc = new FlowDocument();
           doc.Blocks.Add(new Paragraph(new Run(Recibidos + Environment.NewLine)));
           richTextBox.Document = doc;

           // // Mantiene el scroll en la entrada de cada mensaje.
           richTextBox.ScrollToEnd();


Ahora sí.
Código (csharp) [Seleccionar]
           // Muestra el scroll vertical.
           richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

           // Asignar el valor de la trama al richTextBox.
           var doc = new FlowDocument();
           doc.Blocks.Add(new Paragraph(new Run(Recibidos)));
           Recibidos += Environment.NewLine; // Una cadena que contiene "\r\n".
           richTextBox.Document = doc;

           // // Mantiene el scroll en la entrada de cada mensaje.
           richTextBox.ScrollToEnd();


Con menos código.
Código (csharp) [Seleccionar]
            // Muestra el scroll vertical.
            richTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

            // Asignar el valor de la trama al richTextBox.
            var doc = new FlowDocument();
            doc.Blocks.Add(new Paragraph(new Run(Recibidos += Environment.NewLine)));
            richTextBox.Document = doc;

            // // Mantiene el scroll en la entrada de cada mensaje.
            richTextBox.ScrollToEnd();


A pesar de que funciona. ¿Habrá otra forma mejor que esta?
Lo pregunto porque lo que hice puede ser chapuza.

https://msdn.microsoft.com/es-es/library/system.environment.newline%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

Gracias por todo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/