如何覆盖 CSWPFAutoCompleteTextBox 中的文本框内容
How to override the textbox content in CSWPFAutoCompleteTextBox
我正在使用此 MSDN link 中的自动完成文本框。
问题:
CSWPFAutoCompleteTextBox 有 属性 "AutoSuggestionList",我将其绑定到可观察的 string
集合。每个 string
由 id + description 组成。当用户从下拉列表中选择一个项目时,如何覆盖 texbox 内容?我想操作文本框内容。
这是一个扩展 wpf 组合框以使其可搜索的文本框。
当用户在文本框中键入字符串时,它会将匹配的字符串显示为下拉列表,用户选择一个项目,该项目就会显示在文本框中。
问题是如何覆盖此控件的文本框内容。
如果您的代码没有实际格式,很难准确回答,但是例如,如果您的字符串是
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;
}
}
如果您只在所有可能的建议列表中寻找一个数字。
如果您在缩小的建议中寻找一个数字,它会变得有些困难。
您首先需要记下用户到目前为止输入的内容(例如 "Aut")。然后你需要他实际选择的内容(例如 "Automotive")。有了这些东西,你就可以搜索所有可能的建议,计算其中有多少满足用户输入的开头,最后选择哪一个。它可能看起来像这样:
int counter=0;
for(int i = 0; i < suggestions.Length; i++) {
if( suggestions[i].StartsWith(typedString)) {
counter++;
if(suggestions[i] == selectedString) {
counter;
}
}
}
我正在使用此 MSDN link 中的自动完成文本框。
问题:
CSWPFAutoCompleteTextBox 有 属性 "AutoSuggestionList",我将其绑定到可观察的 string
集合。每个 string
由 id + description 组成。当用户从下拉列表中选择一个项目时,如何覆盖 texbox 内容?我想操作文本框内容。
这是一个扩展 wpf 组合框以使其可搜索的文本框。 当用户在文本框中键入字符串时,它会将匹配的字符串显示为下拉列表,用户选择一个项目,该项目就会显示在文本框中。 问题是如何覆盖此控件的文本框内容。
如果您的代码没有实际格式,很难准确回答,但是例如,如果您的字符串是
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;
}
}
如果您只在所有可能的建议列表中寻找一个数字。
如果您在缩小的建议中寻找一个数字,它会变得有些困难。
您首先需要记下用户到目前为止输入的内容(例如 "Aut")。然后你需要他实际选择的内容(例如 "Automotive")。有了这些东西,你就可以搜索所有可能的建议,计算其中有多少满足用户输入的开头,最后选择哪一个。它可能看起来像这样:
int counter=0;
for(int i = 0; i < suggestions.Length; i++) {
if( suggestions[i].StartsWith(typedString)) {
counter++;
if(suggestions[i] == selectedString) {
counter;
}
}
}