Ich habe eine bestehende WPF-Anwendung, in der ich ein ziemlich fortgeschrittenes Befehlssystem habe. Ich entwickle jetzt eine WinForms-Anwendung, in der ich ein ähnliches Befehlssystem übernehmen möchte. Das läuft gut, aber ich kämpfe mit Shortcuts und der verbindlichen Übersetzung.InputBinding für Windows Forms
Für den WPF Fall binde ich Schlüssel Gesten für Befehle an Elementen der Benutzeroberfläche über das folgende Verfahren
public void BindKeyGestures(UIElement uiElement)
{
foreach (var keyboardShortcut in _keyboardShortcuts)
{
if (keyboardShortcut.KeyGesture != null)
{
uiElement.InputBindings.Add(new InputBinding(
_commandService.GetTargetableCommand(_commandService.GetCommand(keyboardShortcut.CommandDefinition)),
keyboardShortcut.KeyGesture));
}
}
}
Gibt es eine Möglichkeit InputBindings
für einen WinForms hinzufügen Control
(ich glaube, dies unwahrscheinlich ist, wie es ist ein WPF-Konstrukt), und wenn nicht, wie kann ich die Verknüpfung hinzufügen, ohne ProcessCmdKey
des enthaltenden Formulars explizit zu überschreiben?
Der Hauptgrund für WPF alle WinForms Einschränkungen ist ... – Phil1970
Ich verstehe und stimme mit Ihnen überein. Aber leider habe ich keine andere Möglichkeit, als WinForms zu verwenden: '[für dieses Projekt. – MoonKnight