Pregunta

En WPF cómo puedo poner UIElements regulares en línea con el texto? Por ejemplo, una determinada clasificación del texto reemplazaría un fragmento de texto con un desplegable con opciones específicas.

He usado objetos como Span, Negrita, hipervínculo que hacer algunas modificaciones a la luz de texto en línea, pero yo quiero ser capaz de hacer algo más drástico, y la costumbre. ¿Puedo poner en práctica un objeto en línea similar a lograr esto?

Estoy trabajando en un proyecto en el que tengo una necesidad de algunos efectos visuales avanzados de texto. Específicamente quiero hacer algo similar a la de Visual Studio 2010 WPF editor de código fuente basado.

Voy a tener un pedazo de texto y diversos componentes que se verá en el texto en busca de piezas con un significado especial. Cuando encuentra un fragmento de texto que registrará / marcar ese lapso. A continuación, otro conjunto de componentes repasará el texto clasificado y añadir decoraciones en base a sus clasificaciones.

Puede especie de pensar en esto como las etiquetas inteligentes para WPF.

Realmente no tengo ni idea de por dónde empezar, toda la documentación sobre el texto avanzado en WPF es sobre la animación, pinceles personalizados, convertir a la geometría, etc ...

¿Fue útil?

Solución

Tome un vistazo a la InlineUIContainer y BlockUIContainer clases . Permiten UIElements a ser incorporados en un contenido dinámico, como FlowDocument o TextBlock.

Este es un ejemplo de un botón inline en un TextBlock:

<TextBlock>
    Some inline
    <InlineUIContainer>
        <Button Content="Hi" Click="Button_Click" />
    </InlineUIContainer>
    inside the text.
</TextBlock>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top