ho dichiarato <InputBindings>
C#/WPF: non KeyBinding innescando Comando
<UserControl.InputBindings>
<KeyBinding Key="C" Modifiers="Ctrl" Command="{Binding CopyImageCommand}" />
<KeyBinding Key="V" Modifiers="Ctrl" Command="{Binding PasteImageCommand}" />
</UserControl.InputBindings>
A scopo di verifica, ho aggiunto i pulsanti legati a quei comandi troppo
<Button Command="{Binding CopyImageCommand}" Content="Copy" />
<Button Command="{Binding PasteImageCommand}" Content="Paste" />
Ho notato che quando il pulsante di pasta è abilitato, quando premo Ctrl-V non succede nulla. Ctrl-C sembra funzionare. Per questo, un elemento della casella di riepilogo è selezionato, non sono sicuro che faccia alcuna differenza. Qualcuno sa perché il mio PasteImageCommand
non si attiva?
Sto usando .NET 4 btw
UPDATE
Un codice più piena 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="*" />
UPDATE
ho scoperto che ho bisogno di mettere il KeyBindings
in MainWindow, ma i comandi si trovano nello ViewModel
, come posso impostare i binding dei tasti nel ShellView
che quindi si collega ai comandi nello ShellViewModel
?
Potete per favore post in cui sono specificati InputBinding? È possibile che tu l'abbia messo nel posto sbagliato. – Euphoric
@Euphoric, ho messo il mio InputBindings in UserControl ShellView. Ho scoperto che funziona quando li metto in MainWindow, ma ho bisogno di impostare il modello di visualizzazione su ShellViewModel, non proprio corretto, penso, come posso gestirlo? –
@JiewMeng: Ciao! ho quasi lo stesso problema hai trovato qualche soluzione? – Jalal