将事件绑定到ViewModel
我正在为我的应用程序使用WPF和PRISM框架。 我使用的模式是MVVM(模型 – 视图 – ViewModel),我试图将MouseLeftButtonUp事件从View中的代码隐藏到ViewModel(因此事件将根据MVVM规则)。 现在我有这个:
View.xaml:
View.xaml.cs(代码隐藏):
public partial class UC1001_DashBoardConsultants_View { public UC1001_DashBoardConsultants_View(UC1001_DashboardConsultantViewModel viewModel) { InitializeComponent(); DataContext = viewModel; } }
ViewModel.cs:
public void EmployeeGrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { // insert logic here }
主要的想法是,当我点击DataGrid中的一个单元格时,事件将会触发。 我首先在后面的代码中尝试了它,并且它有效。 我到目前为止使用EventTriggers,但是当我调试并单击一个单元格时,我的调试器没有进入该方法。
有谁知道如何解决这个问题? 提前致谢!
PS:当我这样做时,它是否也与(对象发送者)参数一起使用? 因为我需要在我的ViewModel中使用DataGrid来获取我刚刚点击的ActiveCell。
编辑:
事件绑定与Command一起工作!
我在我的DataGrid中有这个:
如何将Tag属性绑定到ViewModel? 我知道它已经从ViewModel绑定了,但是你可以看到值来自一个数组/列表和每列的值是不同的。
InvokeCommandAction要求ICommand
绑定而不是绑定的事件处理程序(EmployeeGrid_MouseLeftButtonUp)。
所以你可以在ViewModel中引入一个命令并绑定到它:
查看型号:
public ICommand SomeActionCommand { get; set; }
XAML:
上述就是C#学习教程:将事件绑定到ViewModel分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/998936.html