问题标签 [autocompletebox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - AutoCompleteBox 在 C# wpf 中没有得到正确的值
我目前正在开发一个 WPF C# 项目。我正在使用 AutoCompleteBox WPF 控件,但在获取开箱即用的值时遇到问题。
假设自动完成框用于服务器名称,当我键入“loc”时,弹出框将显示“localhost”,我从下拉框中选择值。
然后,当我尝试提交表单并尝试获取框的值时,它将获得我键入的值而不是我选择的值,即该值将是“loc”。
下面是我用来填充控件的自动完成项的代码
我通过说 txtServer.Text 从自动完成框中获取值;
更新
As suggested by @Tom Studee I tried using the txtServer.selectedItem which works fine when an item from the auto complete is selected. 但是,如果键入的值不在下拉自动完成中,则它会失败并出现空指针异常。
c# - WPF AutoCompleteBox 数据虚拟化
我正在尝试在 WPF AutoCompleteBox 上实现数据虚拟化。我在这里找到了 Bea Stollnitz 的代码,它在 ListView 上工作得很好,而且我很容易让它在 ComboBox 上工作,但我似乎无法让它在 AutoCompleteBox 上正常工作。
准确地说,它是有效的——列表是虚拟化的,项目并不是在启动时全部加载——但似乎发生的是,一旦 ItemsSource 发生变化,AutoCompleteBox 就会遍历列表中的所有项目,这最终会破坏整个事情(即在加载时,列表中的所有页面都被请求,因此即使它们被虚拟化,它们也会在开始时被请求并被加载)。我的猜测是这是因为 ACBox 进行了过滤,但我很惊讶没有办法阻止它,因为控件通常允许使用 Populating 事件在服务器端进行过滤。
我觉得我错过了一些东西,我不敢相信以前没有人做过这样的事情或者无法做到,所以我猜我只是在做一些我可以做的明显错误的事情不知道,因为我是 WPF 的新手。
以下是我为尝试将其整合在一起所做的一些事情(基于围绕类似问题的 Internet 搜索):
我确保内置 UI 虚拟化的所有条件都可以,包括显式打开它、设置 ListBox 的最大高度等。
我用 Bea 在她的示例中使用的 ListView 替换了 AutoCompleteBox 中的 ListBox。并排地,ListView 本身按预期工作,但嵌入在 ACBox 中的却没有。
我尝试在 ACBox 中不使用过滤,使用自定义过滤器,手动处理填充事件等。这没有帮助。制作自定义过滤器显然是不够的,因为自定义过滤器只允许您指定评估一项的结果,循环遍历列表的代码是不可见的,因此您无法阻止循环。将过滤器设置为“无”也无济于事。
欢迎任何和所有建议!
目标是 .NET 3.5,我正在使用 WPF 工具包(2010 年 2 月发布)
谢谢!
c# - 在 AutoCompleteBox DataTemplate 中获取 TextBlock 的值
如何在 DataTemplate 中的 WPF AutoCompleteBox 容器中获取 TextBlock 的值?
下面是我的 AutoCompleteBox XAML
windows-phone-7 - 在 WP7 的 AutoCompleteBox 中禁用 AutoSelect?
有什么办法可以在 WP7 的 AutoCompleteBox 中禁用 AutoSelect?现在发生的情况是,每次我写东西并在搜索建议中列出时,逻辑都会运行。这不是我想要的,因为用户只想在单击建议、回车键或搜索按钮时进行实际搜索。所以,我的问题是:如何禁用它?
现在是怎么做的:
在 xaml 文件中,显示 AutoCompleteBox 并将其绑定到 key up 和 selectionchanged:
在 xaml.cs 中,我监听 keyup 事件并向视图模型发送消息:
在视图模型中:
问题似乎是当我单击下拉菜单时会引发 SelectionChanged 事件,而且当我输入下拉列表中列出的内容时也会引发。希望有人可以提供帮助:)
silverlight - 自定义搜索中的 Silverlight AutoCompleteBox
我有这个对象:
而这个系列:
我的自动完成框是:
当我在 Persons 集合中搜索时,我想按 FirstName 搜索?AutoCompleteBox 中的哪个属性用于按名字搜索?
wpf - DataGridTemplateColumn 中的 WPF AutoCompleteBox 键盘导航问题
我在 WPF4 中的 DataGridTemplateColumn 的编辑模板中使用 WPF 工具包中的 AutoCompleteBox。一旦我解决了围绕 DataGrid 绑定的所有琐碎绑定问题以及 AutoCompleteBox 自己的陷阱和不完整性,它在大多数情况下都运行良好。到现在为止还挺好。问题是键盘导航。
这是场景:有一个包含两列的 DataGrid。第一个是 DataGridTemplateColumn,它的编辑模板中有一个 AutoCompleteBox。第二个只是一个普通的DataGridTextColumn。
如果我调用行的编辑,我可以在 AutoCompleteBox 中选择一个项目。我按 Tab 键移动到下一列,但行编辑被提交,并且键盘焦点不会移动到下一列。如果这是一个 DataGridTextColumn,它将保持编辑模式并让我编辑下一列。这也发生在新行上。
在我看来,当 WPF 从自动完成框出来时,它决定发送键盘焦点的位置似乎有问题,但我不知道我能做些什么,我也找不到任何人都在谈论同样的问题,这表明要么我做错了什么,要么没有其他人关心通过他们的网格进行键盘导航。我一直在使用 TemplateColumn 子类,它覆盖 PrepareCellForEditing 以确保焦点在编辑单元格时立即落在 AutoCompleteBox 中(根据此处的其他答案),但如果我禁用所有代码,问题仍然存在,所以它不是那一点的影响据我所知,诡计。
有任何想法吗?
XAML 看起来或多或少像这样(简化的,当然,网格不止两列,还有一些相当复杂的数据绑定正在进行 - 我省略了绑定并将其保留在整体结构中)。
c# - 从本地数据库创建的 ObservableCollection<> 在 WP7 应用程序中绑定 AutocompleteBox
我使用来自本地数据库 DB .sdf 的查询 LinQ 创建了一个 ObservableCollection<>,然后我将 autocompleteBox(Silverlight Toolkit 2011 年 8 月)与我的 ObservableCollection<> 绑定,但这加载我的元素非常慢。
我的代码 cs 中的 ObservableCollection<>:
wpf - 在 wpf autocompletebox 中,滚动条不随上下键移动
在 wpf 中,自动完成框滚动条不会随向上/向下键移动。当我用向上/向下键选择一个项目时,滚动条不会随所选项目一起移动。
c# - AutoCompleteComboBox 向上/向下箭头键滚动列表
AutoCompleteBox
我在我的应用程序中创建了一个简单的WPF
应用程序,它加载了拦截 Populate 事件的代码,但是当列表弹出并且我按下箭头键并到达列表末尾时,垂直滚动条不会滚动。
字段中的值不断变化,就像滚动它们一样,但滚动条没有移动。
如果我使用鼠标,它滚动得很好。
我只需要箭头键来滚动它。
有什么想法/建议吗?
我是新手,WPF
并且一直在寻找此修复程序。
autocomplete - Silverlight 5 + AutoCompleteBox = 错误
刚刚安装了几天前发布的 SL5 和工具包。
当您将 AutoCompleteBox 的 Text 属性设置为 string.Empty 时,就会发生该错误。它会导致 AutoCompleteBox 处于错误状态。要重现错误:
将 AutoCompleteBox 和 Button 添加到主页。注册到 TextChanged 和 Click 事件。这是代码隐藏:
在运行时:
1)在自动框中输入“aa”。
2) 点击按钮。
3) 键入“q”。(仍然调用 TextChanged)。
4) 擦除“q” -不调用 TextChanged。
5) 再次键入“q” -不调用 TextChanged。
6) 以此类推,直到您选择一个新字母。然后重新开始。