我有2个视图和它们各自的视图模型。 我在这两个视图中都有一个按钮。 点击一个按钮,我必须从两个视图执行相同的命令。如何将一个命令绑定到wpf中的不同视图模型?
<Button Command="{Binding SearchTreeCommand}" Content="Next"/>
我有一个在视图模型中实现的命令接口。 execute方法必须根据数据上下文调用PerformSearch函数,即在两种视图模型中都有一个PerformSearch函数,并具有不同的实现。我如何从命令的execute方法调用PerformSearch的特定实现?
public class SearchTreeCommand : ICommand
{
private readonly IViewModel m_viewModel;
public SearchTreeCommand(IViewModel vm)
{
m_viewModel = vm;
}
event EventHandler ICommand.CanExecuteChanged
{
add { }
remove { }
}
public void Execute(object param)
{
//how do I call the PerformSearch method here??
}
public bool CanExecute(object param)
{
return true;
}
}
public interface IViewModel
{
}
我不知道我的理解很好,但你可以传递参数如果工作特定于DataContext,那么您可以编写以下代码: