Как запустить команду по двойному щелчку элемента списка с помощью MVVM?

Я пытаюсь запустить 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 не является свойством зависимости, но я не знаю, как это подтвердить.

8
задан James 23 June 2012 в 19:41
поделиться