首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C# wpf中,AutoCompleteBox未获得正确的值

在C# wpf中,AutoCompleteBox未获得正确的值
EN

Stack Overflow用户
提问于 2011-08-01 06:11:11
回答 2查看 1.2K关注 0票数 2

我目前正在做一个WPF C#项目。我正在使用AutoCompleteBox WPF控件,但是我在获取开箱即用值时遇到了问题。

假设自动完成框是针对服务器名称的,当我键入'loc‘时,弹出框将显示为'localhost’,并从下拉框中选择该值。

然后,当我尝试提交表单并尝试获取框的值时,它将获得我键入的值,而不是我选择的值,即值将是'loc‘。

下面是我用来填充控件的AutoComplete项的代码

代码语言:javascript
复制
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
    List<string> serverArr = new List<string>();
    while (reader.Read())
    {
        serverArr.Add(reader["his_server"].ToString());
    }
    txtServer.ItemsSource = serverArr;
}

我通过说txtServer.Text从自动补全框中获取值;

更新

根据@Tom Studee的建议,我尝试使用txtServer.selectedItem,当自动完成中的一项被选中时,它工作得很好。但是,如果键入的值不在下拉自动完成的范围内,则会失败,并出现Null指针异常。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-01 07:13:24

使用.SelectedItem属性代替.Text

票数 2
EN

Stack Overflow用户

发布于 2011-08-01 08:42:42

你也许能够

代码语言:javascript
复制
   string cbValue;
   if (SelectedIndex == -1) cbValue = .Text; else cbValue = .SelectedItem;
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6892659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档