me han declarado <InputBindings>
C#/WPF: no KeyBinding activación de comandos
<UserControl.InputBindings>
<KeyBinding Key="C" Modifiers="Ctrl" Command="{Binding CopyImageCommand}" />
<KeyBinding Key="V" Modifiers="Ctrl" Command="{Binding PasteImageCommand}" />
</UserControl.InputBindings>
Para propósitos de prueba, he añadido botones unidos a esos comandos también
<Button Command="{Binding CopyImageCommand}" Content="Copy" />
<Button Command="{Binding PasteImageCommand}" Content="Paste" />
he notado que cuando el botón de pasta es habilitado, cuando presiono Ctrl-V no sucede nada. Ctrl-C parece funcionar. Para eso, se selecciona un elemento del cuadro de lista, no estoy seguro si hace alguna diferencia. ¿Alguien sabe por qué mi PasteImageCommand
no se activa?
estoy usando .NET 4 por cierto
ACTUALIZACIÓN
Un código más completo snipplet
<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="*" />
ACTUALIZACIÓN
descubrí que necesito para poner el KeyBindings
en MainWindow, pero los comandos están en el ViewModel
, ¿cómo puedo establecer enlaces de teclas en el ShellView
que luego se une a los comandos en el ShellViewModel
?
¿Puede usted por favor post donde se InputBinding especificados? Es posible que lo pongas en el lugar equivocado. – Euphoric
@Euphoric, he puesto mis InputBindings en UserControl ShellView. Descubrí que funciona cuando los coloco en MainWindow, pero necesito establecer el modelo de vista en ShellViewModel, no es realmente correcto, creo, ¿cómo puedo manejar esto? –
@JiewMeng: Hola jiew! tengo casi el mismo problema ¿Has encontrado alguna solución? – Jalal