gpt4 book ai didi

慢打字机的 WPF ComboBox

转载 作者:行者123 更新时间:2023-12-04 16:08:18 26 4
gpt4 key购买 nike

在我的 WPF 应用程序中,我使用了一个组合框。
当用户想要选择一个项目时,他可以输入字母,组合框会跳转到以这些字母开头的下一个条目。如果用户停止输入并在特定延迟后重新开始,组合框假定用户已开始输入新单词。嗯,这是通常的 ComboBox 行为,没什么特别的......
问题是,我们的一些用户打字很慢。假设用户正在搜索一个新单词,有没有办法增加在没有组合框的情况下键入两个字母之间允许的时间?
希望你明白我的意思...

最佳答案

您可以全孔并滚动您自己的可过滤组合框。
查看此代码,看看它是否有帮助。

XAML:

<ComboBox x:Name="myComboBox" TextBoxBase.TextChanged="myComboBox_TextChanged" DisplayMemberPath="myDisplay" IsEditable="True" StaysOpenOnEdit="True" SelectionChanged="myComboBox_SelectionChanged" />

然后,在引擎盖下:
ObservableCollection<myType> myCollection;
public ICollectionView cvs { get; set; }
public MyWindow()
{
InitializeComponent();

myCollection = new ObservableCollection<myType>();
cvs = CollectionViewSource.GetDefaultView(myCollection);
myComboBox.ItemsSource = cvs;
cvs.Filter = FilterOut;
}

private void myComboBox_TextChanged(object sender, TextChangedEventArgs e)
{
cvs.Refresh();
}

private bool FilterOut(object input)
{
myType item = (myType)input;
return ( string.IsNullOrEmpty(myComboBox.Text) || item.myDisplay.Contains(myComboBox.Text));
}

关于慢打字机的 WPF ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31515755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com