WPF Border Mouse Button点击和选择ListBox项问题
WPF Border Mouse Button Click and selection ListBox item problems
我 ListBox
有很多项目和边框,它应该完成一项任务,将所选项目向下更改 ListBox
。
对于此任务,我尝试使用 Border 事件 MouseLeftButtonUp
(或 MouseLeftButtonDown
)。问题是当我单击鼠标左键时,选择向下移动到 2 个位置,而我只想移动 1 个位置。
一步步调试,这个方法真的执行了2次
这是事件方法的代码:
private void border1_childGrid6_MouseLeftButtonUp(object sender,
MouseButtonEventArgs e)
{
index = listBox1_childGrid5.SelectedIndex;
index++;
listBox1_childGrid5.SelectedIndex = index;
}
"index"
变量初始化在class开头:
int index = 0;
Q1:鼠标点击执行2次Border事件方法是典型行为吗?这很奇怪,因为到目前为止我还没有遇到过此类事件的这种行为。
问题 2: 我能做些什么来使这个事件只执行 1 次或以其他方式将列表项的选择下移到每 1 次点击 1???
在我看来,您的 Border 中有另一个元素未处理点击事件。然后该事件会传播到您的 Border。
检查事件参数的原始来源 属性 并查看发送该事件的内容。
我 ListBox
有很多项目和边框,它应该完成一项任务,将所选项目向下更改 ListBox
。
对于此任务,我尝试使用 Border 事件 MouseLeftButtonUp
(或 MouseLeftButtonDown
)。问题是当我单击鼠标左键时,选择向下移动到 2 个位置,而我只想移动 1 个位置。
一步步调试,这个方法真的执行了2次
这是事件方法的代码:
private void border1_childGrid6_MouseLeftButtonUp(object sender,
MouseButtonEventArgs e)
{
index = listBox1_childGrid5.SelectedIndex;
index++;
listBox1_childGrid5.SelectedIndex = index;
}
"index"
变量初始化在class开头:
int index = 0;
Q1:鼠标点击执行2次Border事件方法是典型行为吗?这很奇怪,因为到目前为止我还没有遇到过此类事件的这种行为。
问题 2: 我能做些什么来使这个事件只执行 1 次或以其他方式将列表项的选择下移到每 1 次点击 1???
在我看来,您的 Border 中有另一个元素未处理点击事件。然后该事件会传播到您的 Border。
检查事件参数的原始来源 属性 并查看发送该事件的内容。