Wpf вызывает родительское определенное событие из дочернего окна
На странице моего основного проекта wpf я определил событие, связанное с KeyGesture следующим образом:
KeyBinding b = new KeyBinding() { Command = SpvCommands.ChangeUser, Gesture = new KeyGesture((Key.A), (ModifierKeys.Control | ModifierKeys.Shift)) }; InputBindings.Add(b);
Теперь пользователь может открыть объект UnitConsole, который является оконным объектом
UnitConsole cons = new UnitConsole(UnitModel); cons.Width = (UnitModel.ConsoleWidth > 0) ? UnitModel.ConsoleWidth : 410; cons.Height = UnitModel.ConsoleHeight > 0 ? UnitModel.ConsoleHeight : 380; cons.MinWidth = 200; cons.MinHeight = 200; cons.ResizeMode = ResizeMode.CanResizeWithGrip; cons.Background = new SolidColorBrush(Color.FromRgb(50, 50, 50)); cons.WindowStartupLocation = WindowStartupLocation.CenterScreen; cons.WindowStyle = WindowStyle.None; cons.Style = this.Resources["WindowBaseStyleToolBox"] as Style; cons.BorderThickness = new Thickness(0); cons.Owner = Application.Current.MainWindow; cons.Show();
В основном, когда этот объект поднимается, фокус находится на нем, поэтому я не могу использовать комбинацию Ctrl+Shift+A, так как я не нахожусь на родителе.
Я хотел бы иметь возможность поднять SpvCommands.Событие ChangeUser также происходит, если я нахожусь на консоли. Есть ли способ, своего рода пузырь событий, чтобы справиться с этим?
Что я уже пробовал:
Я попытался использовать a
RoutedEventно так как я новичок я не знаю как правильно с этим обращаться
Gerry Schmitz
В какой-то момент Вы принимаете то, что является обычным, стандартным поведением.