【问题标题】:WPF Border Mouse Button Click and selection ListBox item problemsWPF Border Mouse Button Click and selection ListBox item问题
【发布时间】:2017-08-10 16:52:59
【问题描述】:

我有ListBox 有很多项目和边框,它应该完成将所选项目更改为ListBox 的任务。

对于这个任务,我尝试使用边框事件MouseLeftButtonUp(或MouseLeftButtonDown)。问题是当我单击鼠标左键时,选择会向下移动到 2 个位置,而我只想移动 1 个位置。

我一步步调试,这个方法真的执行了2次。

这是事件方法的代码:

    private void border1_childGrid6_MouseLeftButtonUp(object sender,     
         MouseButtonEventArgs e)
    {

        index = listBox1_childGrid5.SelectedIndex;
        index++;

        listBox1_childGrid5.SelectedIndex = index;

    }

"index"类开头的变量初始化:

 int index = 0;

Q1:鼠标点击执行2次Border事件方法是典型行为吗?这很奇怪,因为到目前为止我还没有遇到过此类事件的这种行为。

Q2:我该怎么做才能让这个事件只执行 1 次或以其他方式下移列表项选择 1 per 1 click???

【问题讨论】:

  • 在我看来,您的 Border 内还有另一个元素未处理点击事件。然后将该事件传播到您的边界。检查事件 args 上的原始源属性,看看是什么发送了该事件。
  • 边框里面有一个TextBlock
  • 问题已解决。 Border 内的 TextBlock 与 Border 事件同名,该事件处理程序在 1 次单击后被执行 2 次​​span>

标签: wpf events listbox border selection


【解决方案1】:

在我看来,您的 Border 内还有另一个元素未处理点击事件。然后将该事件传播到您的边界。
检查事件 args 上的原始源属性并查看发送该事件的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-02
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多