前言:在我们日常使用软件的时候,combobox会让用户很方便的选择出需要的东西,但是combobox中的下拉行数过多时就不那么好用了。

如果在项目中有很多这样的combobox控件的话,我们可以考虑重写控件

重写后的的工具类:(重写了comboboxonkeyup事件,即:键盘松开)

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一样输入文字。

重写后的控件按下回车即可触发你的逻辑。(例如:输入下标找到对应的数据,输入拼音简拼找到对应数据等等)