me he enfrentado a un problema similar: quería una zona textual que podría sostener mi texto, es capaz de envolver, que se llena su control principal y es desplazable.
En primer lugar he tratado de utilizar un TextBlock con un ScrollViewer y creo que funcionó, pero por alguna razón he querido utilizar un FlowDocument lugar con un FlowDocumentScrollViewer. Esto último no funcionó y no podía dejar la lucha sin ataduras, así que traté de encontrar soluciones y así es como llegué aquí. Intenté aplicar las soluciones provisionales presentadas en las respuestas a la pregunta original; sin embargo, ninguna de las soluciones me funcionó (estoy usando .NET 4.5, quizás funcione en otras versiones, pero no sé).
He intentado usar un solo FlowDocument por sí mismo también, pero el control contiene algunos elementos de la interfaz de usuario que no quería. Entonces, se me ocurrió otra solución.
<ScrollViewer VerticalScrollBarVisibility="Auto">
<FlowDocumentScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden">
<FlowDocument>
Así es. ¡Funciona! Llamar al ScrollViewer.ScrollToBottom() ¡simplemente funciona! El ScrollViewer habilita el desplazamiento y FlowDocumentScrollViewer elimina los elementos de la interfaz de usuario del FlowDocument. ¡Espero eso ayude!
Al parecer, mi construcción tenía un defecto, porque de esta manera el FlowDocument no es desplazable a través de la rueda de desplazamiento de un ratón.Sin embargo, la configuración de la propiedad FlowDocumentScrollViewer del control IsHitTestVisible a False resuelve esto.
Gracias por señalar el error en mi respuesta. Lo corregí. –
Tenga en cuenta que este método FindScrollViewer no funciona actualmente, sin embargo, la versión de la respuesta de John Myczek sí lo hace. – Niall
Por "actualmente", ¿te refieres a WPF 4.0? Viéndolo nuevamente, podría ser frágil y estar roto por cambios en los controles exactos que se encuentran entre el FlowDocumentScrollViewer y el ScrollViewer causados por la versión o el estilo, por lo que un enfoque más simple e ignorante puede ser mejor. – Anthony