Frage

In WPF wie kann ich regelmäßig UIElements setzen inline mit Text? Zum Beispiel kann eine bestimmte Klassifizierung von Text eine Spannweite von Text mit einem Drop-Down mit spezifischen Optionen ersetzen würde.

Ich habe Objekte wie Span, Bold, Hyperlink verwendet, die einige leichte Modifikationen tun inline in Text, aber ich möchte in der Lage sein, etwas drastischer, und benutzerdefinierte zu tun. Kann ich ein ähnliches Inline-Objekt implementieren, dies zu erreichen?

ich an einem Projekt arbeite, wo ich eine Notwendigkeit für einige erweiterte Text-Grafik haben. Insbesondere möchte ich etwas Ähnliches wie die Visual Studio 2010 WPF basiert Source-Editor tun.

Ich werde ein Stück Text haben und verschiedenen Komponenten in diesem Text für Stücke mit einer besonderen Bedeutung der Suche suchen. Wenn es eine Spannweite von Text findet, wird es aufzeichnen / diese Spanne markiert. Dann wieder eine Reihe von Komponenten über die klassifizierten Text gehen und Dekorationen hinzufügen auf der Grundlage ihrer Einstufungen.

Sie können Art denken, dieses wie Smart Tags für WPF.

Ich habe wirklich keine Ahnung, wo ich anfangen soll, die gesamte Dokumentation über erweiterte Text in WPF ist über das Animieren benutzerdefinierte Pinsel, konvertiert zur Geometrie, etc ...

War es hilfreich?

Lösung

Schauen Sie sich die InlineUIContainer und BlockUIContainer Klassen. Sie ermöglichen UIElements in einem Strömungs Inhalt eingebettet werden, wie FlowDocument oder TextBlock.

Hier ist ein Beispiel einer Schaltfläche in einem TextBlock inlined:

<TextBlock>
    Some inline
    <InlineUIContainer>
        <Button Content="Hi" Click="Button_Click" />
    </InlineUIContainer>
    inside the text.
</TextBlock>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top