RadGrid wpf 的事件 Setter 问题

Event Setter issue of RadGrid wpf

Hello 事件 Setter 处理程序不适用于 MouseLeftButtonDown。检查 xaml

<telerik:RadGridView.RowStyle>
                        <Style TargetType="telerik:GridViewRow">
                            <EventSetter Event="MouseLeftButtonDown" Handler="GridViewRow_MouseLeftButtonDown"></EventSetter>
                        </Style>
                    </telerik:RadGridView.RowStyle>

但它适用于 PreviewMouseLeftButtonDown。事件对两者都有效。执行过程中没有发生任何错误。是什么原因?以及如何使用 mvvm 制作处理程序命令?实际上,我们正在为我的应用程序使用 MVVM。所以我有两个问题。请提供需要完整的解决方案。 谢谢

MouseLeftButtonDown 对事件 setter 无效,因此请添加带有 RowLoaded 事件的 MouseLeftButtonDown 事件。类似的东西会像

 var row = e.Row as GridViewRow;
        if (row != null)
        {
           row.AddHandler(GridViewRow.MouseLeftButtonDownEvent,
      new MouseButtonEventHandler(GridViewRow_MouseLeftButtonDown), true);
        }

方法将是

 private void GridViewRow_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("Hi");
    }

它会很好地工作。