2009-09-21 9 views
15

Ich habe vor kurzem C# und WPF für eines meiner Projekte verwendet.Einfache, schnelle Möglichkeit, Benutzereingaben in WPF zu erhalten?

Gibt es eine schnelle Möglichkeit, eine Eingabe vom Benutzer zu erhalten? Ich konnte keinen für WPF-Projekte finden.

Ich möchte nicht ein anderes Fenster erstellen, fügen Sie OK und Abbrechen-Schaltflächen hinzu, und fügen Sie Ereignishandler für alles hinzu. Ich kann es, aber ich wollte einen einfacheren Weg kennen.

AFAIK, das war in Win-Formen möglich. Sie können Benutzereingaben mit nur einer einzigen Codezeile erhalten. Kann ich es auch in WPF tun?

+0

versucht, die Steuerung mit? –

+1

Sie können WPF und Windows Forms nicht direkt vergleichen. Beide Technologien funktionieren * sehr * anders. Und wenn ich eine komplexe Anwendung zusammenstellte, kam ich selten zu einem Punkt, an dem ich einen einzeiligen Weg brauchte, um Eingaben vom Benutzer zu erhalten. Das ist mehr eine Befehlszeilenschnittstelle, imho. – Joey

+0

Es ist nicht klar, was Sie suchen ... Wenn Sie über die MessageBox sprechen, gibt es sie auch in WPF, wie von Simon erwähnt. –

Antwort

23

Wenn Sie die Microsoft.VisualBasic-DLL zu Ihrer Anwendung hinzufügen, können Sie die InputBox-Methode verwenden, um einen einzelnen Wert vom Benutzer abzurufen.

Microsoft.VisualBasic.Interaction.InputBox("Prompt here", 
              "Title here", 
              "Default data", 
              -1,-1); 

(Put -1, -1 in der XPos, YPos, um es auf dem Bildschirm zu bekommen zentriert)

+0

Nice one Pete, ich hätte die InputBox total vergessen, seit meiner VB4-Tage in der High School nicht mehr benutzt. –

+2

Gut editieren Simon. Ich fühle mich aber schmutzig -> –

+1

Sie müssen den Puntern geben, was sie wollen = :) –

2

Wenn Ihr über grundlegende ja reden/keine Eingabe, dann gibt es ein wpf MessageBox, die als winforms ein in so ziemlich die gleiche Weise funktioniert - siehe System.Windows.MessageBox

Ist das, was Sie denken?

Alle Winforms-Klassen können weiterhin in WPF-Apps verwendet werden. Sie müssen lediglich einen Verweis auf die entsprechende Assembly hinzufügen.

+0

Nein, ich brauche eine ganzzahlige Eingabe. Aber Texteingabe ist auch in Ordnung, die ich in Ganzzahl umwandeln kann. Also ein Textfeld mit OK/Abbrechen-Taste ist, was ich gesucht habe. – VNarasimhaM

+0

Ahh .... Sie denken an die InputBox, die in den Pre-Net-Tagen von Visual Basic herrührt. (es könnte immer noch in vb.net sein). Schauen Sie sich Pete's Antwort an, wie Sie in C# dazu kommen. –

Verwandte Themen