ddc 发表于 2018-6-19 15:23:19

WPF DevExpress表格行双击事件转命令

<dxg:TableView
                            x:Name="viewDetail"
                            NavigationStyle="Cell"
                            RowIndicatorContentTemplate="{DynamicResource RowIndicatorContentTemplate}"
                            ShowCheckBoxSelectorColumn="True"
                            Style="{DynamicResource TableViewStyle}">
                            <i:Interaction.Behaviors>
                              <bh:BestFitColumnsBehavior />
                            </i:Interaction.Behaviors>
                            <dxmvvm:Interaction.Behaviors>
                              <dxmvvm:EventToCommand
                                    Command="{Binding WithdrawEntrustCommand}"
                                    EventArgsConverter="{inf:EventArgsToDataRowConverter}"
                                    EventName="MouseDoubleClick"
                                    PassEventArgsToCommand="True"
                                    SourceName="gridDetail" />
                            </dxmvvm:Interaction.Behaviors>
                        </dxg:TableView>

public class EventArgsToDataRowConverter : InstanceMarkupExtension<EventArgsToDataRowConverter>, IEventArgsConverter
    {
      public object Convert(object sender, object args)
      {
            var e = (MouseButtonEventArgs)args;
            var gridControl = (GridControl)e.Source;
            var rowControl = VisualHelper.FindVisualParent<RowControl>(e.OriginalSource as DependencyObject);
            var checkEdit = VisualHelper.FindVisualParent<CheckEdit>(e.OriginalSource as DependencyObject);
            //屏蔽双击CheckBox或者双击鼠标右键响应双击事件
            if (checkEdit != null || rowControl == null || e.ChangedButton != MouseButton.Left)
            {
                return null;
            }
            else
            {
                return gridControl.SelectedItem;
            }
      }

      public override object ProvideValue(IServiceProvider serviceProvider)
      {
            return this;
      }
    }
仅供参考哦

页: [1]
查看完整版本: WPF DevExpress表格行双击事件转命令