Pergunta

Em WPF como posso colocar UIElements regulares em linha com o texto? Por exemplo, uma determinada classificação de texto iria substituir um intervalo de texto com uma lista suspensa contendo opções específicas.

Eu usei objetos como Span, Negrito, Hyperlink que fazer algumas modificações leves para linha de texto, mas eu quero ser capaz de fazer algo mais drástico, e personalizado. Posso implementar um objeto embutido semelhante para alcançar este objetivo?

Eu estou trabalhando em um projeto onde eu tenho uma necessidade para alguns recursos visuais de texto avançados. Especificamente eu quero fazer algo semelhante ao editor de código Visual Studio 2010 WPF base.

Vou ter um pedaço de texto e vários componentes vão olhar para que a procura de texto para peças com significado especial. Quando se encontra um intervalo de texto que irá gravar / marcar esse período. Em seguida, um outro conjunto de componentes vai passar por cima do texto classificadas e adicionar decorações com base em suas classificações.

Você pode tipo de pensar isso como etiquetas inteligentes para WPF.

Eu realmente não tenho idéia por onde começar, toda a documentação em texto avançado em WPF é de cerca de animador, pincéis personalizados, convertido ao geometria, etc ...

Foi útil?

Solução

Dê uma olhada na InlineUIContainer e href="http://msdn.microsoft.com/en-us/library/system.windows.documents.blockuicontainer.aspx" rel="nofollow noreferrer"> BlockUIContainer aulas UIElements para ser incorporado em um conteúdo de fluxo, como FlowDocument ou TextBlock.

Aqui está um exemplo de um botão embutido em um TextBlock:

<TextBlock>
    Some inline
    <InlineUIContainer>
        <Button Content="Hi" Click="Button_Click" />
    </InlineUIContainer>
    inside the text.
</TextBlock>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top