我有一个AutocompleteBox
用于WPF,如下所示:
<toolkit:AutoCompleteBox
Name="AutoCompleteBox"
DataContext="{Binding ElementName=MainWindow, Path=Users}"
ItemsSource="{Binding}"
ValueMemberPath="Username"
ItemTemplate="{StaticResource AutoCompleteBoxItemTemplate}"
PreviewMouseDown="AutoCompleteBox_OnPreviewMouseDown"/>
使用向下/向上箭头导航时效果很好。但我希望在鼠标点击时选择一个项目。
我试图附上PreviewMouseDown
,但是当我尝试恢复信息时,我失败了:
private void AutoCompleteBox_OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
System.Windows.Controls.ListBox listBox = AutoCompleteBox.Template.FindName("Selector", AutoCompleteBox) as System.Windows.Controls.ListBox;
if (listBox == null) return;
MessageBox.Show("Mouse click!");
}
Selector
是AutocompleteBox
列表框的内部标识符。但它说它没有任何物品......
如何在Autocompletebox上模拟鼠标?或者我如何能够检索这个内部ListBox
以便我可以获得所选信息?