前言:在我們日常使用軟體的時候,Combobox會讓用戶很方便的選擇出需要的東西,但是ComboBox中的下拉行數過多時就不那麼好用了。 如果在項目中有很多這樣的ComboBox控制項的話,我們可以考慮重寫控制項。 重寫後的的工具類:(重寫了ComboBox的OnkeyUp事件,即:鍵盤鬆開) clas ...
前言:在我們日常使用軟體的時候,Combobox會讓用戶很方便的選擇出需要的東西,但是ComboBox中的下拉行數過多時就不那麼好用了。
如果在項目中有很多這樣的ComboBox控制項的話,我們可以考慮重寫控制項。
重寫後的的工具類:(重寫了ComboBox的OnkeyUp事件,即:鍵盤鬆開)
class EnterComboBox : ComboBox { protected override void OnKeyUp(KeyEventArgs e) { if (e.Key == Key.Enter) { //你的邏輯 } } }
那麼我們如何使用重寫功能後的ComboBox控制項呢?
只需在前端XAML中的命名空間加入:
xmlns:util="clr-namespace:你的工具類的命名空間"
在XAML中使用控制項:
<util:EnterComboBox IsEditable="True"/>
IsEditable:處於可編輯狀態,即:ComboBox可以像TextBox一樣輸入文字。
重寫後的控制項按下回車即可觸發你的邏輯。(例如:輸入下標找到對應的數據,輸入拼音簡拼找到對應數據等等)
搬運轉發請鏈接註明出處。