[英]WPF Combobox selection behavior
WPF ComboBox
控件允許使用兩種方法來更改鼠標的選擇。
用鼠標單擊上/下,將顯示彈出窗口,然后單擊要選擇的項目。
您單擊並按住。 出現彈出窗口,將鼠標懸停在要選擇的項目上,然后釋放鼠標按鈕。 選擇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)單擊並保持仍然會打開彈出窗口,但是您需要釋放並再次單擊以選擇一個項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.