从ViewModel调用按钮OnClick

时间:2014-11-18 19:22:50

标签: wpf mvvm prism

我有一个按钮如下,

<Button Height="40" Width="40" x:Name="btnup" Command="{Binding UpCommand}" CommandParameter="{Binding ElementName=dgEntities,Path=SelectedItem}" Click="Btnup_OnClick">

在ViewModel中我有一个UpCommand,在XAML.cs中我有Btnup_OnClick事件。是否有可能在viewmodel中的UpCommand中调用Btnup_OnClick事件。请帮忙。我希望命令在OnClick之后执行。

1 个答案:

答案 0 :(得分:0)

AFAIK,你不能从viewmodel调用一个代码隐藏函数(你可能也不应该这样做,它有点破坏了拥有虚拟机的目的)。

如果要协调两个单独的函数,可以通过获取页​​面的datacontext从代码隐藏中调用视图模型函数:

private void Btnup_OnClick(){
  //DO YOUR OTHER STUFF HERE
  var viewModel = (MyViewModelClass)DataContext;
  viewModel.UpCommand();
}