一个命令,2个可能的命令目标

时间:2014-04-10 09:14:48

标签: c# wpf command

以下情况:我有2个ListBox,每个包含一个单独的可移除元素列表。

如果我现在要添加一个删除命令(这对于ContextMenu工作正常,因为我将所选元素作为OriginalSource),我有一个问题,我无法区分哪个ListBox是什么意思(因为OriginalSource是窗口)。

即使为listBoxes触发了GotFocus事件,使用FocusManager也不起作用(总是返回null)。

一个简单的解决方案是将选定的ListBox存储在GotFocus事件中,但我正在寻找更通用,可扩展的解决方案(因此我从提供给Command的CanExecute / Execute方法的参数中获取所有信息)

1 个答案:

答案 0 :(得分:0)

您可以在viewmodel上提供LastSelectedItem属性。当您从列表框中设置其中一个SelectedItem时,Allways将设置此属性。然后在两个列表中搜索该项目并将其删除。