2013-09-25 40 views
0

我正在研究C#WPF应用程序。我有一个使用Infragistics库的教科书上出现的上下文菜单。我希望能够使用我的键盘滚动浏览选项并选择其中一个选项(按Enter键)。当我滚动浏览菜单时,我可以看到菜单上选定的项目,但当用户输入时,我不知道如何获取菜单项中的文本(如“cp”,“high”等)。做类似xamMenu.Items.CurrentItem的东西总是返回null。从上下文菜单中选择特定的菜单项

+1

所以你使用TextBox上的XamContextMenu? XamMenuItem应该有一个可以处理的Click事件,发件人将是被单击的XamMenuItem。即使按Enter键选择该事件,该事件也会启动。 – rstoffers

回答

0

你有代码背后,还是绑定到您的viewmodel属性的列表项?

如果是后者:创建同一类型,你的列表项,并在视图模型的一个附加属性的SelectedItem:

<ComboBox 
ItemsSource="{Binding MyViewModel.Items}" 
SelectedItem="{Binding MyViewModel.SelectedItem}" 
ToolTip="some tooltip" 
/> 

随后的SelectedItem应采取正确的值。

+0

整个菜单在代码隐藏中构建。我试图修改做我想在KeyDown事件处理程序中执行的操作:_xamMenu.KeyDown + =(s,e)=> {//使用当前突出显示的菜单选项填充文本框}。但我不知道如何访问突出显示的选项的内容。 –