我正在使用此MSDN link中的自动填充文本框。
问题:
CSWPFAutoCompleteTextBox具有属性" AutoSuggestionList"我把它绑定到可观察的string
集合。每个string
都由id + description组成。当用户从下拉列表中选择项目时,如何覆盖texbox内容?我想操纵文本框内容。
这是一个扩展wpf组合框以使其可搜索的文本框。 当用户在文本框中键入字符串时,它会将匹配的字符串显示为下拉列表,用户选择一个项目,该项目将显示在文本框中。 问题是如何覆盖此控件的文本框内容。
答案 0 :(得分:0)
如果没有代码的实际格式,很难准确回答,例如,如果您的字符串是
string[] suggestions = {"0: Yes", "1: No", "666: whatever"}
然后你可以用
之类的东西得到这个数字sugestedString.Substring(0, sugestedString.IndexOf(':'));
编辑:我误解了这个问题。所以如果我现在理解正确,你可以用
来做for(int i = 0; i < suggestions.Length; i++) {
if(suggestions[i] == selectedString) {
return i;
}
}
如果您只在列表中找到所有可能建议的数字。
如果你在缩小的建议中寻找一个数字,那就更难了。
首先需要记下用户输入的内容(例如&#34; Aut&#34;)。然后你需要他实际选择的东西(例如&#34; Automotive&#34;)。通过这些内容,您可以搜索所有可能的建议,计算其中有多少满足用户输入的开头,最后选择哪一个是选定的。它可能看起来像这样:
int counter=0;
for(int i = 0; i < suggestions.Length; i++) {
if( suggestions[i].StartsWith(typedString)) {
counter++;
if(suggestions[i] == selectedString) {
counter;
}
}
}