1
WPF ComboBox
控件允许两种方式用鼠标更改选择。WPF组合框选择行为
您用鼠标点击/弹出,弹出窗口出现,然后点击您想要选择的项目。
你点击并按住。出现弹出窗口,将鼠标放在要选择的项目上并释放鼠标按钮。 MouseUp事件发生时鼠标所在的项目被选中。
有没有办法消除behavior #2
?即让他们执行2次完整的向下/向上点击来改变选择?
WPF ComboBox
控件允许两种方式用鼠标更改选择。WPF组合框选择行为
您用鼠标点击/弹出,弹出窗口出现,然后点击您想要选择的项目。
你点击并按住。出现弹出窗口,将鼠标放在要选择的项目上并释放鼠标按钮。 MouseUp事件发生时鼠标所在的项目被选中。
有没有办法消除behavior #2
?即让他们执行2次完整的向下/向上点击来改变选择?
也未必不漂亮,而是结合了几个事件似乎做你以后:
private bool _comboMouseDown = false;
private bool _comboSelectionDisabled = false;
private void ComboBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
_comboMouseDown = true;
}
private void ComboBox_DropDownOpened(object sender, EventArgs e)
{
if (_comboMouseDown)
{
//Don't enable selection until the user releases the mouse button:
_comboSelectionDisabled = true;
}
}
private void ComboBox_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
if (_comboSelectionDisabled)
{
//Stop the accompanying "MouseUp" event (which would select an item) from firing:
e.Handled = true;
_comboSelectionDisabled = false;
}
_comboMouseDown = false;
}
1)仍然工作正常
2)点击和保持仍然打开弹出窗口,但您需要释放并再次单击以选择一个项目。
太棒了!那正是我想要的,谢谢。 – eoldre 2013-04-12 20:39:45
我看了一个鼠标,向上看,预览下来,并预览。预览后没有任何帮助选择总是激活。 – Paparazzi 2013-04-11 21:02:27