WPF-Fenstertextfeld - Das Bearbeiten von Text wirkt sich auf ein anderes Fenster aus.

Ich schreibe eine Visual Studio-Erweiterung für unser Entwicklerteam (eine VSIX-Lösung). Wenn der Benutzer die Erweiterung aktiviert, erhält er ein Formular, das ein sehr einfaches WPF-Fenster ist. Das Fenster wird mit folgendem Code geladen:

var myWindow = new SomeWpfWindow(myArgs)
{
    Owner = Application.Current.MainWindow
};
myWindow.Show();

Dies wird geöffnet und zeigt ein Formular an, das der Benutzer ausfüllt. Das Formular enthält viele Textfelder, die in zwei Richtungen an den DataContext gebunden werden. Nichts Außergewöhnliches.

Nun, abgesehen vom TextBox-Verhalten ....

Wenn ich Zeichen in das Textfeld eingebe ("bla bla bla"), werden diese Zeichen im Textfeld angezeigt und in die DataContext-Eigenschaft geschrieben, an die sie gebunden sind.

Jedoch. Wenn ich die Rücktaste oder die Löschtaste drücke, bleibt der Text in der Textbox unverändert, stattdessen wird das dahinterliegende Fenster (in diesem Fall die aktive Codedatei) bearbeitet. Nicht ideales Verhalten ....

Ich habe dies mit .ShowDialog () und nicht mit .Show () behoben, aber ist dies die richtige Lösung, oder begrabe ich das Problem nur?

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage