c# - 在 wpf 中作为组合框项的组合框内的文本框
问题描述
我在 WPF 中有一个组合框。我把TextBox
它作为ComboBoxItem
. 现在我希望ComboBoxItem
在我输入时被过滤TextBox
:
<ComboBox Grid.Column="1" Grid.Row="1" Margin="23,8,22,29" Name="comboBox1" DropDownOpened="comboBox1_DropDownOpened">
<ComboBoxItem>
<TextBox Name="texcombo" Width="90" Foreground="Gray" GotFocus="texcombo_GotFocus" KeyDown="texcombo_KeyDown" TextChanged="texcombo_TextChanged" >جستجو</TextBox>
</ComboBoxItem>
<ComboBoxItem>سلام</ComboBoxItem>
<ComboBoxItem>خوبی</ComboBoxItem>
<ComboBoxItem>عرض ادب</ComboBoxItem>
<ComboBoxItem>سپاسگذارم</ComboBoxItem>
<ComboBoxItem>مرسی</ComboBoxItem>
</ComboBox>
我怎样才能做到这一点?
解决方案
您在 ComboBox 中实现文本框的方式是错误的。首先,您应该更改组合框默认模板以在其中显示特定的文本框,而不是将文本框放在项目中。然后你应该将一个可观察的集合(用于数据)绑定到 ComboBox 项。现在您可以根据 TextBox TextChanged 事件或命令过滤 ObservableCollection。
推荐阅读
- go - 无法使用 sudo 命令运行 go 程序
- sass - 如何在 vue js 组件中使用 scss 文件?
- sockets - gRPC 套接字在具有入口的 kubernetes 上关闭
- python - Swagger 中的字典列表
- angular - 如何将 Angular 应用程序嵌入到 Wordpress 页面中?
- python - 最新 Django 中基于令牌的身份验证
- git - 从 Jenkins Job 获取返回状态码 143 的远程 repo 'origin' 时出错
- python - 如何根据存储在每个节点中的计数创建同心图?
- arrays - 我想在 codeigniter 中创建带有属性的 xml 数据
- regex - matching an entire list with each and every line of file