Я объявил
<UserControl.InputBindings>
<KeyBinding Key="C" Modifiers="Ctrl" Command="{Binding CopyImageCommand}" />
<KeyBinding Key="V" Modifiers="Ctrl" Command="{Binding PasteImageCommand}" />
</UserControl.InputBindings>
В целях тестирования я также добавил кнопки, привязанные к этим командам
<Button Command="{Binding CopyImageCommand}" Content="Copy" />
<Button Command="{Binding PasteImageCommand}" Content="Paste" />
Я заметил, что когда кнопка вставки включена, когда я нажимаю Ctrl-V, ничего не происходит. Ctrl-C, кажется, работает. Для этого , элемент списка выбран, я не уверен, имеет ли это значение. Кто-нибудь знает, почему моя PasteImageCommand
не запускается?
Я использую .NET 4 btw
UPDATE
Более полный фрагмент кода
<UserControl x:Class="QuickImageUpload.Views.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:vm="clr-namespace:QuickImageUpload.ViewModels"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.InputBindings>
<KeyBinding Key="C" Modifiers="Ctrl" Command="{Binding CopyImageCommand}" />
<KeyBinding Key="V" Modifiers="Ctrl" Command="{Binding PasteImageCommand}" />
</UserControl.InputBindings>
<UserControl.DataContext>
<vm:ShellViewModel />
</UserControl.DataContext>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
ОБНОВЛЕНИЕ
I fo у меня нужно поместить KeyBindings
в MainWindow, но команды находятся в ViewModel
, как я могу установить привязки клавиш в ShellView
, который затем связывает к командам в ShellViewModel
?