1

我希望 ListView 的行为如下:

用鼠标输入:

  • 左键单击-> 项目单击事件处理程序被执行,但不应将其显示为“已选择”
  • 右键单击-> 项目被选中

带触摸输入:

  • 单击 -> 相当于左键单击
  • 向下滑动 -> 相当于右键单击

我玩过各种事件和设置,但似乎无法让它正常工作。

4

2 回答 2

2

换句话说,您希望您的列表视图表现得像 Windows 开始屏幕?这对我来说很残酷 - 鼠标部分很容易,但触摸部分不是那么容易。解决方案非常简单。您只需为您的列表视图启用正确的选项。这是我的 xaml:

<ListView
        x:Name="itemListView"
        SelectionMode="Extended"
        IsSwipeEnabled="True"
        IsItemClickEnabled="True"
        ItemClick="ItemView_ItemClick"
        />

抱歉,我还没有想出如何让代码在 StackOverflow 中突出显示。

于 2012-11-20T14:12:14.473 回答
1

这可以帮助您点击鼠标

 private void MainForm_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
            method()
        if (e.Button == MouseButtons.Right)
            set selection = false
            method()
    }

对于触摸的处理,我希望这会有所帮助

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465387.aspx

于 2012-11-20T11:23:49.110 回答