Frage

Ich habe gerade angemeldet dies mit Microsoft Connect, aber ich frage mich, ob jemand über sie gekommen ist und ein Update gefunden. Google ist nicht zeigt viel ...

Einfache Repro:

  • Anwendung hat eine WPF Textbox mit MaxLength Satz
  • Verwenden Sie das TabletPC Eingabefeld mehr Text zu schreiben, als erlaubt ist
  • Klicken Sie auf "Einfügen" auf dem TabletPC-Panel und die Anwendung abstürzt

Darüber hinaus das Verhalten meiner Anwendung zu ändern MaxLength nicht zu verwenden, weiß jemand eine Lösung?

(Ich werde hier posten, wenn Microsoft mit Rat zurückkommen.)

EDIT:. angegeben haben, sollte ich .NET 3.5 und Windows 7 renne

War es hilfreich?

Lösung 3

.NET 4.0, aber keine Pläne für eine 3,5 fix

Offensichtlich ist dies in fixiert. Der Vorschlag von MS war das Textchanged-Ereignis behandeln MaxLength automatisch zur Verfügung zu stellen (ew!).

Andere Tipps

Je nach Anwendung der Architektur, wenn Sie MVVM verwenden, könnte ich die MaxLength entfernen und führen Sie dann die Validierung in Ihrem Viewmodel-Objekt der Wert, um sicherzustellen, entspricht die Länge, die Sie erwarten.

Ansonsten könnte ich die Bindung Validierung wie verwenden, was ist in diesem beschrieben Artikel .

Nicht das, was ich im Fall von etwas optimal bezeichnen würde, die wie eine Postleitzahl oder eine Telefonnummer beschränkt ist, wirklich Länge, aber es lässt Sie alle die Validierung an einem Ort zu internalisieren.

Ich werde ehrlich sein, habe ich keine Erfahrung mit entweder WPF oder Tablet PC-Interaktionen so hier schieße ich blind, aber ich werde entweder das Ziel treffen oder etwas lernen:)

Aus meinem vereinfachende Sicht Punkt sehe ich eine Reihe von Workarounds, die alle betreffen die maximale Länge zu entfernen:

  1. Bei der Vorlage, gestutzt die Zeichenfolge in der VM, wenn zu lange
  2. Bei der Vorlage, alert Benutzer Abschneiden und vorhanden abgeschnittener String zurück, um sie in dem Textfeld für die Bearbeitung
  3. Hang ein Ereignis aus der Textbox sowie die Länge der Zeichenfolge „OnChange“ mit einem Etikett Alarm neben dem Feld, wie ein Web-Formular Fehler.

Wie auch immer, ich hoffe, dass Sie einige Antworten von einigen Leuten, die wissen, was sie reden;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top