Так я использую функцию MVVMLight EventToCommand.
Если у вас есть событие двойного щелчка для этого. Если это недоступно, возьмите mousedown (предварительный просмотр) и проверьте clickCount в аргументах команды. ClickCount, равный 2, соответствует двойному щелчку.
Обратите внимание: у меня есть своя собственная реализация RelayCommand. Один из инструментария MVMMLight может выглядеть иначе.
XAML:
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="MouseDown">
<mvvmLight:EventToCommand PassEventArgsToCommand="True" Command="{Binding MouseDownCommand}"></mvvmLight:EventToCommand>
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
ViewModel:
public ICommand MouseDownCommand
{
get
{
if (_mouseDownCommand == null)
{
_mouseDownCommand = new RelayCommand(x => MouseDown(x as MouseButtonEventArgs));
}
return _mouseDownCommand;
}
}
private void MouseDown(MouseButtonEventArgs e)
{
if (e.ClickCount == 2)
{
// do stuff
}
}