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