使用上下文菜单后获取选定的 ListView 项目
Get selected ListView item after using Context Menu
我正在使用包含我的 mp3 文件的 ListView 在 WPF 中编写一个简单的音乐播放器。
在 MouseDoubleClick 之后,我以这种方式获得选定的项目:
private void PlayNow(object sender, EventArgs e)
{
var item = (sender as ListView).SelectedItem;
if (item != null)
{
//Some code here
}
}
但是当我通过上下文菜单执行相同操作时,我选择的项目是 ContextMenu.Item。
我仍然需要 ListView 所选项目。
如何通过 ContextMenu 获取它?
您可以使用 PlacementTarget
属性.
访问 ContextMenu
所属的项目
不过,如果您想以 "proper" 方式执行此操作,我可能建议您阅读 commands. You could bind both the double-click action and the ContextMenu
's item to MediaCommands.Play
,并通过将相应的项目绑定到 CommandParameter
来传递相应的项目。
我正在使用包含我的 mp3 文件的 ListView 在 WPF 中编写一个简单的音乐播放器。 在 MouseDoubleClick 之后,我以这种方式获得选定的项目:
private void PlayNow(object sender, EventArgs e)
{
var item = (sender as ListView).SelectedItem;
if (item != null)
{
//Some code here
}
}
但是当我通过上下文菜单执行相同操作时,我选择的项目是 ContextMenu.Item。 我仍然需要 ListView 所选项目。 如何通过 ContextMenu 获取它?
您可以使用 PlacementTarget
属性.
ContextMenu
所属的项目
不过,如果您想以 "proper" 方式执行此操作,我可能建议您阅读 commands. You could bind both the double-click action and the ContextMenu
's item to MediaCommands.Play
,并通过将相应的项目绑定到 CommandParameter
来传递相应的项目。