2008-08-27 8 views
5

[Wir haben eine Windows Forms-Datenbank-Front-End-Anwendung, die unter anderem als CMS verwendet werden kann; Clients erstellen die Struktur, füllen sie aus und verwenden dann eine ASP.NET WebForms-basierte Website, um die Ergebnisse öffentlich im Web darzustellen. Für zusätzliche Flexibilität sind sie manchmal gezwungen, das eigentliche HTML-Markup direkt in ein Textfeld einzugeben, das dann als Varchar in der Datenbank endet. Das funktioniert, aber es ist bei weitem nicht benutzerfreundlich.]Ein WYSIWYG-Markdown-Steuerelement für Windows Forms?

Als solche ... wollen einige Kunden einen WYSIWYG-Editor für HTML. Ich möchte sie davon überzeugen, dass sie von einer einfacheren Sprache (Markdown) profitieren würden. Idealerweise hätte ich gerne einen WYSIWYG-Editor dafür. Sie brauchen keine Tische oder so etwas Anspruchsvolles.

Eine flüchtige Suche zeigt a .NET Markdown to HTML converter, und dann haben wir a Windows Forms-based text editor that outputs HTML, aber scheinbar nichts, was die beiden zusammenbringt. Als Ergebnis würden wir immer noch unsere VARCHARs mit Markup haben, aber zumindest wäre es sowohl für Menschen lesbar als auch einfach zu analysieren.

Würde dies - ein WYSIWYG-Editor, der Markdown ausgibt, der später in HTML in ASP.NET geparst wird - machbar sein? Irgendwelche alternativen Vorschläge?

Antwort

0

Können Sie nicht einfach die gleiche Kontrolle verwenden, die ich Stack Overflow verwendet (die wir alle eingeben) --- WMD, und speichern Sie einfach die Markdown in VARCHAR. Verwenden Sie dann den .NET-Markdown-zu-HTML-Konverter, wie Sie erwähnt haben, um den HTML-Code nach Bedarf anzuzeigen. Jeff spricht in einem StackOverflow-Podcast genauer darüber (kenne die Episodennummer nicht).

+0

Die OP Explicity Staaten WINDOWS FORMS. – nathanchere

0

Zusätzlich zu Jared: Es war in Episode 11 at the middle part. Sie können es herunterladen here

+0

Dies wäre gut als Kommentar (es ist mein Haustier ärgern, bitte nehmen Sie es nicht persönlich!) –

1

kann nicht nur Sie die gleiche Kontrolle verwenden Ich bin Stack-Überlauf verwendet (die wir alle Eingabe in sind) --- WMD und speichern nur die Markdown in der VARCHAR.

Das ist ein Web-Steuerelement. Die Eingabe geschieht in Windows Forms, das würde also nicht funktionieren.

0

@Soeren,

können Sie definitiv IE einbetten mit dem Javascript-Editor Markdown in einer Windows Forms-Anwendung.

-1

das RichTextBox-Steuerelement

So möchten Sie Markdown verwenden, aber Sie wollen, dass der Benutzer es zu wissen, nicht wahr? Dies ist möglicherweise kein erreichbares Ziel. Ich denke, der Punkt von Markdown ist, dass es auf Autoren ausgerichtet ist, die bereit sind, ein bisschen natürliche Syntax zu lernen und alles im Klartext zu bearbeiten (wie Wikipedia? Gibt es dafür reine WYSIWYG-Editoren? Wahrscheinlich ... und wahrscheinlich einige andere Wikipedia-Redakteure müssen kommen und das resultierende Markup und die Formatierung aufräumen ...). Wenn Sie möchten, dass es für den Benutzer transparent ist (wie MS Word), ist Markdown möglicherweise nicht das, was Sie möchten, oder Sie erhalten die Vorteile, die es in dieser Situation bietet.

Die Eingabe in Windows Forms geschieht

Hoppla! Jetzt verstehe ich deine Frage besser. Ich denke, es hängt davon ab, wie Ihre Windows Forms-App aussieht, ob die eingebettete IE-Steuerung wie ein wunderbarer Daumen herausragt. Wenn Sie es versuchen, können Sie feststellen, dass Sie es zur Arbeit bringen können.[1]

In Ihrer Position, würde ich so etwas wie dies versucht, [2]:

Wenn Sie diese Art der Anordnung nicht denken geht über gut mit Ihrem Benutzer, (vor allem alle die Bearbeitung im Nur-Text-Fenster) dann wieder denke ich, Markdown ist die Antwort für Ihre spezifische Anwendung. Wenn Sie glauben, dass Ihre Benutzer die Idee haben, reinen Text zu bearbeiten, dann wetten wir, dass wir eine Lösung finden können. Bitte klären Sie?

Jared.

[1] Ich hatte Erfolg, ein IE HTML-Steuerelement in ein Projekt zu löschen, nur um einige generierte Ergebnisse als PDF anzuzeigen (mit einem IE Reader-Plugin wie Adobe Reader oder Foxit). Der Benutzer hat keine Ahnung, dass dieser Teil der GUI ein IE-Steuerelement ist, es zeigt nur die PDF, ermöglicht Drucken und Speichern, etc.

[2] ... aber entfernen Sie die Grenzen und berühren Sie die beiden geteilten Bedienelemente alle vier Kanten des eingebetteten IE-Steuerelements, oder kommen Sie sehr nah ... halten Sie es zum Beispiel hellgrau oder weiß, und entfernen Sie alle Grenzen des IE-Steuerelements, so dass es sich in die umgebenden Steuerelemente einfügt. Stellen Sie das vielleicht auf eine eigene Registerkarte und ich fordere einen nicht-technischen Benutzer dazu auf, zu sagen, ob es ein HTML-Steuerelement oder ein natives ist.

ich total falsch sein könnte über all dies (würde man dies in Aktion sehen muß, um zu bestimmen, ob es funktionieren wird), aber es könnte einfacher sein, als Sie Ihren eigenen interaktiven Editor Markdown zu schreiben ...

... Um Ihren eigenen C# -Markdown-Editor zu implementieren, können Sie einfach ein Textbearbeitungsfeld neben einem eingebetteten IE-Steuerelement platzieren und den aktuellen Markdown über den .NET Markdown-> HTML-Konverter in einem separaten Thread ausführen und den HTML-Code im IE-Steuerelement ersetzen (Angenommen, der Markdown-> HTML-Konverter ist sehr liberal und robust gegen ALLE Ausnahmen).

0

„WYSIWYG Markdown“ ist wirklich ein Oxymoron, da der ganze Sinn der Markdown zu ermöglichen, ist Ihr Markup-Syntax natürlich und intuitiv zu schreiben, die dann in HTML-Post verarbeitet werden, es sei denn, meinen Sie eigentlich zum Beispiel unter ** Text ** und rendering es als ** Text * * zum Beispiel. Das wäre wirklich cool, aber Dinge wie nummerierte Listen und Listen mit Aufzählungszeichen würden sehr schwierig werden, da Sie die gesamte Positionierung vornehmen müssten, aber alles auf tatsächlichen Textzeichen (z. B. "*" anstelle des Aufzählungszeichens) beibehalten würden) und die richtige Texteingabe Positionierung unterstützen, Backspace usw.

  • zum Beispiel
  • in dieser Aufzählung,
  • die Kugeln tatsächlich Sternchen sein,
  • und der Abstand würde nicht wirklich
  • hätten da sein.

Das wäre sicherlich die Aufmerksamkeit wert, wenn jemand es angehen würde.