2010-10-26 6 views
0

J'ai besoin d'un petit contrôle WYSIWYG dans mon application. La représentation interne est une sorte de xml, mais je n'ai rien trouvé sur internet concernant wysiwyg qui n'appartienne pas aux éditeurs html ou rtf.Éditeur WYSIWYG dans .NET

Par exemple, lorsque la représentation interne est quelque chose comme

"some text <ask pivot="x">name</ask> some text" 

Je veux que l'utilisateur de voir et de modifier

"some text some other text some text" 

(« autre texte » devrait être colorisé et il ne devrait pas être possible éditer des caractères simples de celui-ci)

Je pourrais faire la représentation avec un RichTextBox mais il est afaik impossible de traduire rtf dans mon format comme pivot = "x" n'a pas d'impact sur l'aspect visuel de "l'autre texte" mais devrait être rappelé de toute façon. Même si je devais utiliser un workarround, je devrais aussi faire du piratage pour rendre "autre texte" non modifiable, donc ce serait très désordonné et peut-être ralentir.

Quelle est la meilleure façon de faire cela dans .NET?

modifier: L'application crée une sorte de modèle. Il y a plusieurs balises comme ou dans le texte résultant qui seront remplacées par une autre application. Je veux que l'utilisateur édite ces modèles, mais ne pas avoir à se soucier du XML (ils ne connaissent pas xml), donc au lieu des balises XML, je veux que l'utilisateur voit un exemple de leur remplacement. Au lieu de

I like <ask pivot="simple">fruit</ask>s 

L'utilisateur doit voir (et modifier) ​​

I like apples 
+0

Pourriez-vous être un peu plus précis sur votre description de ce que vous voulez? Peut-être qu'un petit schéma ou quelque chose comme ça pourrait aider, parce que honnêtement, je n'ai rien compris. – Gimly

+0

a ajouté quelques éclaircissements – DaVinci

Répondre

0

Ceci est très grande solution, mais je pense que cela fonctionnerait. Utilisez le contrôle webbrowser, dans lequel mettre TinyMCE ou un autre éditeur WYSIWYG. Je sais que c'est naïf et comparable à tuer des mouches avec un fusil, peut-être que cela fera l'affaire. S'il vous plaît laissez-moi savoir si vous décidez de le faire de cette façon. Cheers]:>

Questions connexes