Изправен съм пред един проблем със свързването на клавиши за въвеждане на команда. Тук обяснявам моята ситуация... Свързах обвързването на клавишите за въвеждане на команда, както е показано по-долу,
<Window x:Class="DefaultBehavior_KeyBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.InputBindings>
<KeyBinding Key="F2" Command="{Binding TestCommand}"/>
</Window.InputBindings>
<Grid>
<Button Content="Add" Width="100" Height="35" Grid.Row="0" Name="EmptyButton" Click="EmptyButton_Click"/>
</Grid>
It works fine. Then i opened the new wpf child window in button click event like below,
public partial class MainWindow : Window
{
public ICommand TestCommand { get; private set; }
public MainWindow()
{
this.TestCommand = ........some command is attached here...
InitializeComponent();
this.DataContext = this;
}
private void EmptyTabButton_Click(object sender, RoutedEventArgs e)
{
Window childwindow = new Window() { Title = "ChildWindow", Width = 200, Height = 300 };
childwindow.Show();
}
}
След отваряне на дъщерния прозорец, свързването на клавиша към главния прозорец не работи, когато дъщерният прозорец е фокусиран. Ако превключа фокуса към главния прозорец, всичко е наред.
Знам, че главният прозорец и дъщерният прозорец са независими един от друг.
Но въпросът ми е как мога да го направя така, че моят дъщерен прозорец да е фокусиран, когато обвързах клавишното свързване само към главния прозорец. не искам да задавам това обвързване към всеки дъщерен прозорец, защото в моя случай използвам много дъщерни прозорци.
Моля, някой да ми даде вашето предложение?