gpt4 book ai didi

WPF:鼠标双击图像使用交互

转载 作者:行者123 更新时间:2023-12-03 10:40:46 25 4
gpt4 key购买 nike

我正在尝试使用交互功能来实现鼠标双击标准图像控件。 Image 控件在 UserControl 上,应该处理鼠标双击的方法在 View 模型上。代码如下:

1)用户控制:

<ItemsControl Grid.Row="0" ItemsSource="{Binding SelectedEventPhotoList}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Name="SelectedListView">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="1" Columns="3"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}" Stretch="None">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<ei:CallMethodAction MethodName="DblClick" TargetObject="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

3)查看模型:
public void DblClick()
{
MessageBox.Show("Double click!");
}

但是,它不起作用。

更新:

我这样做了,但它不起作用:

1)XAML:
<ItemsControl Grid.Row="0" ItemsSource="{Binding SelectedEventPhotoList}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Name="SelectedListView">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="1" Columns="3"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}">
<Image.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick" Command="{Binding MouseDoubleClickCommand}"/>
</Image.InputBindings>
</Image>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

2)查看模型:
public DelegateCommand MouseDoubleClickCommand { get; private set; }

在构造函数中:
MouseDoubleClickCommand = new DelegateCommand(DblClick);

并添加方法:
public void DblClick()
{
MessageBox.Show("Double click!");
}

最佳答案

有时处理 OnMouseDownClickCount 很有用(或 MouseLeftButtonDown )事件处理程序并检查 ClickCount MouseButtonEventArgs 的属性(property)争论。这种方法允许处理单击、双击、三次单击等 :)

private void OnMouseDownClickCount(object sender, MouseButtonEventArgs e)
{
if (e.ClickCount == 2)
{
// Double Click occurred.
...
}
}
但是这种方法有一个“特点”。双击 OnMouseDownClickCount 时事件上升两次:第一次是 e.ClickCount == 1然后用 e.ClickCount == 2 .

关于WPF:鼠标双击图像使用交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42396396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com