自定义窗口中添加比如ComboBox,Quicker会有一些默认的关于ComboBox的处理事件和样式,在快速开发的时候效果非常好,但是如果需要定制个性化处理时,就需要替换掉默认的处理事件,但是去除事件需要具体事件名称,所以有没有总结这些事件的文档什么的,具体例子比如我添加自定义的ComboBox的DropDownOpened事件:
driverA.DropDownOpened += (sender, e) =>
{
string currentText = driverA.Text.Trim();
if (!string.IsNullOrWhiteSpace(currentText))
{
// 检查当前文本是否在 mainItems 中
if (mainItems.Contains(currentText, StringComparer.OrdinalIgnoreCase))
{
// 如果当前文本在 mainItems 中,保持显示 mainItems
driverA.ItemsSource = mainItems;
}
else
{
// 动态查找匹配项
var mylist = mainItems
.Where(s => s.ToLower().Contains(currentText.ToLower()))
.ToList();
// 更新 ComboBox 的 ItemsSource
driverA.ItemsSource = mylist;
// 重新设置文本框的内容
driverA.Text = currentText;
// 如果需要,可以将当前文本设置为选中项
if (mylist.Contains(currentText, StringComparer.OrdinalIgnoreCase))
{
driverA.SelectedItem = currentText;
}
}
}
else
{
// 如果输入为空,显示所有选项
driverA.ItemsSource = mainItems;
}
};
添加上面的事件会和Quicker默认的DropDownOpened事件 叠加,效果变得很混乱( * VisualStudio 里是正常的),或者有没有什么方法能正常添加上面的事件的?