Inténtelo: crear un control FlowDocumentReader
En el panel Propiedades, algunas propiedades son más complejas que un único valor. Por ejemplo, algunas propiedades representan una colección de valores o bien un objeto con propiedades propias. Puede usar el editor de colecciones y el editor de subpropiedades para modificar estos valores.
En el siguiente procedimiento se usan los editores de subpropiedades y colecciones para mostrarle cómo agregar contenido a un control FlowDocumentReader.
[!NOTA]
No es necesario usar este procedimiento para modificar texto en un control FlowDocumentScrollViewer . En su lugar, puede usar los procedimientos de Editar texto, Dar formato al texto y los demás temas que se indican en la sección de procedimientos de Texto y tipografía.
Para agregar contenido a un control FlowDocumentReader
El control FlowDocumentReader está disponible en el Panel biblioteca. En el cuadro de herramientas, haga clic en el botón Panel biblioteca .
Active la casilla Mostrar todo para ver todos los controles disponibles.
En la ficha Controles, seleccione Controles del sistema (predeterminado) y, a continuación, seleccione el control FlowDocumentReader. Aparecerá un icono genérico, encima del botón Panel biblioteca en el cuadro de herramientas, seleccionado y listo para agregarse a la mesa de trabajo.
Dibuje un objeto FlowDocumentReader en la mesa de trabajo.
Control FlowDocumentReader dibujado en la mesa de trabajo
Con el objeto FlowDocumentReader seleccionado en Objetos y escala de tiempo, expanda la categoría Varios en el panel Propiedades.
Haga clic en el botón Nuevo junto a la propiedad Document. La propiedad Document se rellena con un objeto FlowDocument y se abre el editor de subpropiedades para FlowDocument. Puede expandir y contraer el editor de subpropiedades. La propiedad Document sólo puede contener un objeto FlowDocument.
[!NOTA]
Las propiedades que muestran un editor de subpropiedades normalmente se identifican mediante el botón Nuevo a su lado y una flecha de expansión (si la propiedad tiene contenido). Si la propiedad tiene subpropiedades predeterminadas asociadas, también aparecerá una flecha de lista desplegable junto a la propiedad. Por ejemplo, la propiedad BitmapEffect proporciona una lista desplegable que incluye BevelBitmapEffect, BlurBitmapEffect y otras subpropiedades que puede seleccionar.
Editor de subpropiedades de la propiedad Document que muestra la propiedad Blocks (Collection)
En el editor de subpropiedades para la propiedad Document, haga clic en el botón Editar elementos de esta colección al lado de la propiedad Blocks (Collection). El editor de colecciones se abre para la propiedad Blocks.
[!NOTA]
Las propiedades que muestren un editor de colecciones se suelen identificar con la palabra (Collection) junto al nombre de la propiedad y el botón Editar elementos de esta colección.
Editor de colecciones de la subpropiedad Blocks
En el editor de colecciones de la subpropiedad Blocks, haga clic en el botón Agregar otro elemento. Aparece la ventana Seleccionar objeto, donde puede seleccionar cualquier objeto de Windows Presentation Foundation (WPF).
En el cuadro de texto Buscar, escriba Paragraph para encontrar rápidamente la clase Paragraph. Seleccione Paragraph en la lista, debajo de System.Windows.Documents, y haga clic en Aceptar. Se cierra la ventana Seleccionar objeto y se agrega un elemento Paragraph al editor de colecciones en el índice 0. Las propiedades del objeto Paragraph se muestran a la derecha.
[!NOTA]
Puede resultar difícil entender qué objetos son válidos para una colección determinada. Para las propiedades de una colección de controles comunes (como la propiedad de colección Items del control ListBox), el editor de colecciones proporciona una lista desplegable de elementos sugeridos y el botón Agregar otro elemento. Sin embargo, para los controles menos habituales (como el control FlowDocumentReader), examinar la documentación de MSDN para el tipo de control puede ayudarle a entender qué elementos son válidos para la colección. Por ejemplo, en la sección acerca de las clases de contenido dinámico de la información general sobre los documentos dinámicos (puede estar en inglés) de MSDN, un diagrama muestra la estructura de controles de documentos de flujo. En ese diagrama, puede ver que la propiedad Blocks puede contener un objeto Paragraph, Section, List, Table o un elemento BlockUIContainer. En los siguientes pasos, agregará un elemento Run a la propiedad de colección Inlines del objeto Paragraph.
En la ventana Propiedades del objeto Paragraph, haga clic en el botón Editar elementos de esta colección junto a la propiedad Inlines. El editor de colecciones cambia al ámbito de la propiedad Inlines.
Haga clic en el botón Agregar otro elemento y, a continuación, seleccione la clase Run en la ventana Seleccionar objeto. Se agrega un objeto Run al editor de colecciones en el índice 0.
En la ventana Propiedades del objeto Run, puede agregar contenido si escribe en la propiedad Text. Asimismo, puede usar algunas de las propiedades de las categorías Pinceles y Texto para aplicar estilo al texto. Las demás propiedades están deshabilitadas porque deben establecerse en el nivel del control FlowDocumentViewer.
Editor de colecciones de la propiedad Inlines después de agregar un objeto Run y editar el texto
Haga clic en Aceptar para salir del editor de colecciones de la propiedad Inlines y, a continuación, haga clic en Aceptar para salir del editor de colecciones de la propiedad Blocks. El texto que escribió en el paso anterior se muestra en el control FlowDocumentViewer.
Importante: No haga clic en el botón Nuevo junto a la propiedad Document del objeto FlowDocumentViewer a menos que desee eliminar el contenido que acaba de crear, ya que la propiedad Document sólo puede contener un objeto FlowDocument. A menos que el nombre de la propiedad incluya la palabra (Collection), la propiedad sólo puede contener un objeto.
[!NOTA]
Si va a editar un objeto FlowDocumentScrollViewer o RichTextBox, puede usar el editor de texto de Microsoft Expression Blend, al que puede obtener acceso si selecciona el objeto y presiona F2. Para obtener más información, vea Editar texto. Si va a editar un objeto DocumentViewer o FlowDocumentPageViewer, el contenido se agregará mediante programación. Para obtener más información, vea la información general sobre los documentos dinámicos (puede estar en inglés) y la sección acerca de los documentos en Windows Presentation Foundation (puede estar en inglés) en MSDN. Vea también los ejemplos de DocumentViewer (puede estar en inglés) y los ejemplos de FlowDocumentReader (puede estar en inglés) que puede descargar desde los ejemplos para Windows SDK .NET Framework 3.0 (puede estar en inglés).