Я хочу поймать долгое удержание над ListViewItem
после того, как пользователь удерживает и нажимает влево button
, а затем отпускает через полсекунды.
Это то, что я пробовал до сих пор, мне удается пойматьпервый click
:
<ListView>
<i:EventTrigger EventName="PreviewMouseLeftButtonDown">
<i:InvokeCommandAction
Command="{Binding ListViewItemHoldCommand}"
CommandParameter="{Binding ElementName=ListViewFiles, Path=SelectedItem}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ListView>
И внутри моего ListViewItemHoldCommand
класса я ловлю этот щелчок внутри этого function
:
public void Execute(object parameter)
{
}
Что мне дальше делать?
РЕДАКТИРОВАТЬ
Я также пробую это:
<Window
x:Name="mainView"
</Window
<i:EventTrigger EventName="PreviewMouseLeftButtonDown">
<i:InvokeCommandAction
Command="{Binding DataContext.ListViewItemHoldCommand, ElementName=mainView}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}}}"/>
</i:EventTrigger>
public void Execute(object parameter)
{
ListView listView = parameter as ListView;
if (listView != null)
{
var selectedIndex = listView.SelectedIndex;
var selectedItem = listView.SelectedItem;
}
}
Но selectedIndex
всегда -1
и selectedItem
всегда ноль