c# - 具有过滤器功能的组合框 - 在“组合框”类型中找不到可附加属性
问题描述
我目前有一个用 MVVM 架构编写的小型应用程序。我有以下文件夹结构。命令、模型、视图模型的文件夹,最后是我的视图的文件夹。我正在尝试在我的 DataGrid 中实现一个 Combobox,它有一个下拉列表,可以根据我在该 Combobox 中输入的文本过滤列表。我想我已经找到了在这篇文章中发布的解决方案,但是当我实施它时它对我不起作用。我讨厌为此提出另一个问题,但不幸的是,由于缺乏声誉,我无法评论该帖子。
我实现代码的方式是我创建了两个类 ComboBox.cs 和 Extensions.cs(不在任何命名空间或文件夹中),并按原样复制粘贴上面链接中的代码。然后我去了我已经工作的DataGrid的xaml并添加了
ComboBox.IsFilterOnAutocompleteEnabled="True"
正如链接中的解决方案所建议的那样。这是 DataGrid 的一部分的我的 xaml:`
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox IsEditable="True" DisplayMemberPath="Name" SelectedValuePath="Name" ComboBox.IsFilterOnAutocompleteEnabled="True"
Text="{Binding Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Path=DataContext.CombosAndLoadCasesList, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>`
有一条关于 ComboBox 的类名不应称为 ComboBox 的评论,所以我将其更改为其他名称,但仍然无法使其工作。这是我收到的错误消息:
严重性代码描述项目文件行抑制状态错误 XLS0415 在类型“组合框”中找不到可附加属性“IsFilterOnAutocompleteEnabled”。组合 ComboInfoUI.xaml 49
严重性代码 描述 项目文件行抑制状态错误 XDG0012 成员“IsFilterOnAutocompleteEnabled”无法识别或不可访问。组合 ComboInfoUI.xaml 49
解决方案
推荐阅读
- angular - 如何动态创建角度组件并附加到顶部而不是底部?
- python - 我如何解决 InvalidArgumentError: cycle_length must be > 0 when load tfrecords file
- c# - ASP.NET Telerik 组合框未使用新值更新
- javascript - typescript Success Callback 方法中 Response.Redirect (ASP.NET) 的替代方法是什么?
- swift - SwiftUI - 如何访问列表中的数据
- c# - 将 C 结构转换为 C#?
- python - PyCharm 和 PyQT QFileDialog 之间的奇怪交互
- flutter - 无法确定任务“:google_maps_flutter:compileDebugAidl”的依赖关系
- java - 检查 ArrayList 中是否有任何重复项。使用循环
- python - Python循环直到达到最大数量