Member 14135942 Ответов: 0

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

В какой-то момент Вы принимаете то, что является обычным, стандартным поведением.

0 Ответов