I <InputBindings>
C#/WPF: KeyBinding Auslösung nicht Befehl
<UserControl.InputBindings>
<KeyBinding Key="C" Modifiers="Ctrl" Command="{Binding CopyImageCommand}" />
<KeyBinding Key="V" Modifiers="Ctrl" Command="{Binding PasteImageCommand}" />
</UserControl.InputBindings>
Für Testzwecke erklärt habe, habe ich Tasten auf diese Befehle zu gebunden hinzugefügt
<Button Command="{Binding CopyImageCommand}" Content="Copy" />
<Button Command="{Binding PasteImageCommand}" Content="Paste" />
Ich bemerkte, dass, wenn die Paste-Taste ist aktiviert, wenn ich Strg-V drücke passiert nichts. Strg-C scheint zu funktionieren. Dazu ist ein Listenfeld ausgewählt, ich bin mir nicht sicher, ob es einen Unterschied macht. Jeder weiß, warum ist meine PasteImageCommand
nicht auslösend?
Ich bin mit .NET 4 btw
UPDATE
Ein Code voller
<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
snippletIch fand heraus, ich brauche das setzen KeyBindings
im MainWindow, aber die Befehle sind in der ViewModel
, wie kann ich Tastenbelegungen in der ShellView
setzen, die dann an Befehle in der ShellViewModel
bindet?
Können Sie bitte posten, wo angegeben sind Inputbinding? Es ist möglich, dass Sie es falsch platzieren. – Euphoric
@Euphoric, Ich habe meine InputBindings in der UserControl ShellView gesetzt. Ich habe herausgefunden, dass es funktioniert, wenn ich sie in das MainWindow setze, aber ich muss das View-Modell auf ShellViewModel einstellen, nicht wirklich korrekt. Ich denke, wie kann ich damit umgehen? –
@JiewMeng: Hi jiew! Ich habe fast das gleiche Problem. Hast du irgendeine Lösung gefunden? – Jalal