RadGrid wpf的Event Setter问题

时间:2017-07-24 12:05:36

标签: c# wpf telerik

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

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

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

1 个答案:

答案 0 :(得分:0)

MouseLeftButtonDown对于事件设置器无效,因此请使用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");
    }

它会正常工作。