Я пытаюсь запустить ICommand, когда пользователь дважды щелкает элемент списка. Кроме того, я пытаюсь сделать это с помощью шаблона MVVM.
В этом XAML нажатие клавиши «p» работает отлично. Когда я дважды щелкаю по списку, команда никогда не запускается. Я установил точку останова, чтобы подтвердить, что «PlayVideoCommand» не вызывается двойным щелчком. Мне что-то не хватает или мне нужно использовать Setter (с которым я не знаком)?
<ListBox Name="SmallVideoPreviews" Grid.Column="1" MaxHeight="965"
ItemsSource="{Binding BrowseVideos}"
ItemTemplate="{StaticResource BrowseTemplate}">
<ListBox.InputBindings>
<KeyBinding Key="p"
Command="{Binding PlayVideoCommand}"
CommandParameter="{Binding ElementName=SmallVideoPreviews, Path=SelectedItem}"/>
<MouseBinding Gesture="LeftDoubleClick"
Command="{Binding PlayVideoCommand}"
CommandParameter="{Binding ElementName=SmallVideoPreviews, Path=SelectedItem}"/>
</ListBox.InputBindings>
</ListBox>
И двойной щелчок, и "p" должны выполнять одну и ту же команду. При использовании мыши я вижу, что элемент списка выбран. У меня есть подозрение, что свойство MouseBinding Command не является свойством зависимости, но я не знаю, как это подтвердить.