C# 自动完成下拉列表突出显示部分文本(WPF)

C# 自动完成下拉列表突出显示部分文本(WPF),c#,wpf,xaml,autocompletebox,C#,Wpf,Xaml,Autocompletebox,我在WPF应用程序中使用标准的AutoCompleteBox控件,用户在其中键入查询,并在键入时生成和过滤自动完成列表。在下拉列表中,我想突出显示与用户输入的文本匹配的每个列表框项目中的文本。例如,如果他们键入ap,下拉列表中有dap和apple,则每个单词中的ap将以粗体显示,而其余文本将不以粗体显示 我有所有的代码将正确的文本改为粗体,但我永远无法在正确的时间调用它。我找不到正确的事件来调用代码来执行加粗。为了进行粗体显示,我遍历VisualTreeHelper以查找每个ListBoxIte

我在WPF应用程序中使用标准的AutoCompleteBox控件,用户在其中键入查询,并在键入时生成和过滤自动完成列表。在下拉列表中,我想突出显示与用户输入的文本匹配的每个列表框项目中的文本。例如,如果他们键入ap,下拉列表中有dap和apple,则每个单词中的ap将以粗体显示,而其余文本将不以粗体显示

我有所有的代码将正确的文本改为粗体,但我永远无法在正确的时间调用它。我找不到正确的事件来调用代码来执行加粗。为了进行粗体显示,我遍历VisualTreeHelper以查找每个ListBoxItem中的每个文本块,但找不到触发此遍历的正确事件。我总是在显示整个列表之前或在过滤之前调用它,这样就不会显示粗体文本

我知道我的代码是有效的,因为如果我从listbox selection changed事件调用遍历,它会正确地加粗文本,但这不是我正在寻找的交互,因为用户必须高亮显示条目才能看到加粗文本

在列表被过滤和显示之后,我可以从哪个事件处理和调用此遍历?注意,每次用户在搜索框中输入另一个字符时,列表都会重新过滤

谢谢你的帮助,这让我非常沮丧