MvvmLightEventToCommand和WPFToolkitDataGridDoubleClick试图弄清楚如何使用EventToCommand为一行设置数据网格双击处理程序。该命令位于每一行的视图模型中。就我的经验而言,我还没有使用过这种交互。谢谢。我会使用mvvmlight标签,但我还没有足够的代表来制作一个新的。如果Command在“GridVieModel”而不是“RowViewModel”上,这将是解决方案。您可以创建一个行视图,因为行也有自己的视图模型,并在行视图中使用行(容器)的子元素的mousedoubleclick事件。或者您为命令绑定创建一个转换器:转换器将检查selectedItem是否是返回命令所需的类型(类似于使用RelayCommand属性的ISelectCommandable),以防有人来这里查看并想知道我是如何使用EventToCommand完成它的的公共类DataGridAttachedBehaviors{#regionDoubleClickpublicstaticDependencyPropertyOnDoubleClickProperty=DependencyProperty.RegisterAttached("OnDoubleClick",typeof(ICommand),typeof(DataGridAttachedBehaviors),newUIPropertyMetadata(DataGridAttachedBehaviors.OnDoubleClick));publicstaticvoidSetOnDoubleClick(DependencyObjecttarget,ICommandvalue){target.SetValue(DataGridAttachedBehaviors.OnDoubleClickProperty,value);}privatestaticvoidOnDoubleClick(DependencyObjecttarget,DependencyPropertyChangedEventArgse){varelement=targetasControl;if(element==null){bethrow"newInvalidbehavior(Throw"InvalidOperationExcepattachedtoaControlitemonly.");}if((e.NewValue!=null)&&(e.OldValue==null)){element.MouseDoubleClick+=MouseDoubleClick;}elseif((e.NewValue==nulll)&&(e.OldValue!=null)){element.MouseDoubleClick-=MouseDoubleClick;}}privatestaticvoidMouseDoubleClick(objectsender,MouseButtonEventArgse){UIElementelement=(UIElement)sender;ICommand命令=(ICommand)元素。GetValue(DataGridAttachedBehaviors.OnDoubleClickProperty);命令.执行(空);}#endregionDoubleClick#regionSelectionChanged//removed#endregion}在我的xaml中:以上就是C#学习教程的全部内容:MvvmLightEventToCommand和WPFToolkitDataGrid双击分享,如果对你有用需要了解一下更多关于C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
