WPF MVVM Raccourci clavier n'étant pas reconnue tout de suite et pas toujours de travail

Pour quelque raison que ce soit, les Raccourcis clavier pour mon UserControl ne sont pas à travailler dès que mon Application WPF charges. Ils font un travail après avoir appuyer sur un bouton sur le formulaire, mais pas lorsque j'ai mis le focus sur le formulaire en cliquant ou en alt tab ou en mouvement, ou quelque chose comme ça. Et quand ils font un travail mon entrer les touches de l'impression d'un nombre aléatoire. (parfois 5, parfois 7, etc...).

<UserControl x:Class="WpfCalculator.View.CalculatorView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300"
>
<UserControl.InputBindings>
<KeyBinding Key="DELETE" Command="{Binding Path=IBackspaceOnInput}" />
<KeyBinding Key="BACKSPACE" Command="{Binding Path=IBackspaceOnInput}" />
<KeyBinding Key="NUMPAD0" Command="{Binding Path=IAppendToUserInput}" CommandParameter="0" />
<KeyBinding Key="NUMPAD1" Command="{Binding Path=IAppendToUserInput}" CommandParameter="1" />
<KeyBinding Key="NUMPAD2" Command="{Binding Path=IAppendToUserInput}" CommandParameter="2" />
<KeyBinding Key="NUMPAD3" Command="{Binding Path=IAppendToUserInput}" CommandParameter="3" />
<KeyBinding Key="NUMPAD4" Command="{Binding Path=IAppendToUserInput}" CommandParameter="4" />
<KeyBinding Key="NUMPAD5" Command="{Binding Path=IAppendToUserInput}" CommandParameter="5" />
<KeyBinding Key="NUMPAD6" Command="{Binding Path=IAppendToUserInput}" CommandParameter="6" />
<KeyBinding Key="NUMPAD7" Command="{Binding Path=IAppendToUserInput}" CommandParameter="7" />
<KeyBinding Key="NUMPAD8" Command="{Binding Path=IAppendToUserInput}" CommandParameter="8" />
<KeyBinding Key="NUMPAD9" Command="{Binding Path=IAppendToUserInput}" CommandParameter="9" />
<KeyBinding Key="D0" Command="{Binding Path=IAppendToUserInput}" CommandParameter="0" />
<KeyBinding Key="D1" Command="{Binding Path=IAppendToUserInput}" CommandParameter="1" />
<KeyBinding Key="D2" Command="{Binding Path=IAppendToUserInput}" CommandParameter="2" />
<KeyBinding Key="D3" Command="{Binding Path=IAppendToUserInput}" CommandParameter="3" />
<KeyBinding Key="D4" Command="{Binding Path=IAppendToUserInput}" CommandParameter="4" />
<KeyBinding Key="D5" Command="{Binding Path=IAppendToUserInput}" CommandParameter="5" />
<KeyBinding Key="D6" Command="{Binding Path=IAppendToUserInput}" CommandParameter="6" />
<KeyBinding Key="D7" Command="{Binding Path=IAppendToUserInput}" CommandParameter="7" />
<KeyBinding Key="D8" Command="{Binding Path=IAppendToUserInput}" CommandParameter="8" />
<KeyBinding Key="D9" Command="{Binding Path=IAppendToUserInput}" CommandParameter="9" />
<KeyBinding Key="ADD" Command="{Binding Path=IAppendToUserInput}" CommandParameter="+" />
<KeyBinding Key="SUBTRACT" Command="{Binding Path=IAppendToUserInput}" CommandParameter="-" />
<KeyBinding Key="MULTIPLY" Command="{Binding Path=IAppendToUserInput}" CommandParameter="*" />
<KeyBinding Key="DIVIDE" Command="{Binding Path=IAppendToUserInput}" CommandParameter="/" />
<KeyBinding Key="Return" Command="{Binding Path=ICalculateExpression}" CommandParameter="" />
<KeyBinding Key="Enter" Command="{Binding Path=ICalculateExpression}" CommandParameter="" />
<KeyBinding Key="Escape" Command="{Binding Path=IClearInput}" CommandParameter="" />
<KeyBinding Gesture="CTRL+M" Command="{Binding Path=IRememberExpression}" CommandParameter="" />
<KeyBinding Gesture="CTRL+R" Command="{Binding Path=IRecallExpression}" CommandParameter="" />
<KeyBinding Gesture="CTRL+X" Command="{Binding Path=IForgetExpression}" CommandParameter="" />
<KeyBinding Key="Left" Command="{Binding Path=IMMoveCursor}" CommandParameter="1" />
<KeyBinding Key="Right" Command="{Binding Path=IMMoveCursor}" CommandParameter="-1" />
</UserControl.InputBindings>
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="305" Width="489">
<TextBox Name="input" HorizontalAlignment="Right"  IsReadOnly="True" Margin="0,12,200,271" Text="{Binding Path=UserInput}" Width="275" />
<Button Content="CE" Margin="143,0,323,147" Command="{Binding Path=IBackspaceOnInput}" CommandParameter="" Height="23" VerticalAlignment="Bottom" />
<Button Content="1" Height="23" HorizontalAlignment="Right" Margin="0,106,294,176" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="1" />
<Button Content="2" Height="23" HorizontalAlignment="Right" Margin="0,106,265,176" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="2" />
<Button Content="3" Height="23" HorizontalAlignment="Right" Margin="0,106,236,176" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="3" />
<Button Content="4" Height="23" HorizontalAlignment="Right" Margin="0,77,294,205" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="4" />
<Button Content="5" Height="23" HorizontalAlignment="Right" Margin="0,77,236,205" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="5" />
<Button Content="6" Height="23" HorizontalAlignment="Right" Margin="0,77,265,205" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="6" />
<Button Content="7" Height="23" HorizontalAlignment="Right" Margin="0,48,294,234" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="7" />
<Button Content="8" Height="23" HorizontalAlignment="Right" Margin="0,48,265,234" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="8" />
<Button Content="9" Height="23" HorizontalAlignment="Right" Margin="0,48,236,234" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="9" />
<Button Content="0" Height="23" HorizontalAlignment="Left" Margin="201,135,0,147" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="0" />
<Button Content="+" Height="23" HorizontalAlignment="Right" Margin="0,48,201,234" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="+" />
<Button Content="-" Height="23" HorizontalAlignment="Right" Margin="0,77,201,205" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="-" />
<Button Content="*" Height="23" HorizontalAlignment="Right" Margin="0,106,201,176" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="*" />
<Button Content="/" Height="23" HorizontalAlignment="Right" Margin="0,135,201,147" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="/" />
<Button Content="." Height="23" HorizontalAlignment="Right" Margin="0,135,236,147" Width="23" Command="{Binding Path=IAppendToUserInput}" CommandParameter="9" />
<Button Content="C" HorizontalAlignment="Right" Margin="0,164,323,118" Width="23" Command="{Binding Path=IClearInput}" CommandParameter="" />
<Button Content="MC" Height="23" HorizontalAlignment="Right" Margin="0,0,323,234" VerticalAlignment="Bottom" Width="23" Command="{Binding Path=IForgetExpression}" CommandParameter=""/>
<Button Content="M+" Height="23" HorizontalAlignment="Right" Margin="0,0,323,176" VerticalAlignment="Bottom" Width="23" Command="{Binding Path=IRememberExpression}" CommandParameter=""/>
<Button Content="MR" Height="23" HorizontalAlignment="Right" Margin="0,0,323,205" VerticalAlignment="Bottom" Width="23" Command="{Binding Path=IRecallExpression}" CommandParameter=""/>
<Expander ExpandDirection="Left" Header="History" Height="91" HorizontalAlignment="Right" Margin="0,193,200,0" VerticalAlignment="Top" Width="275">
<ListView ItemsSource="{Binding Path=History}" >
<ListView.View>
<GridView >
<GridViewColumn Header="Start" DisplayMemberBinding="{Binding Started}"/>
<GridViewColumn Header="End" DisplayMemberBinding="{Binding Completed}"/>
<GridViewColumn Header="Expression" DisplayMemberBinding="{Binding Calculation}"/>
<GridViewColumn Header="Solution" DisplayMemberBinding="{Binding Result}"/>
</GridView>
</ListView.View>
</ListView>
</Expander>
<Button Command="{Binding Path=ICalculateExpression}" CommandParameter="" IsEnabled="{Binding Path=IsEqualsBtnEnabled}" Content="=" Height="23" Margin="172,0,236,118" VerticalAlignment="Bottom" />
</Grid></UserControl>

Je n'ai pas rencontré quelqu'un d'autre avec ce problème particulier donc je ne suis pas vraiment sûr de ce que pour donner plus que cela. Laissez-moi savoir si il y a d'autres info nécessaire?

OriginalL'auteur Terrance | 2010-04-22