RadGrid wpf 的事件设置器问题

爪哇蛙

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。所以我有两个问题。请提供需要的完整解决方案。谢谢

用户4667380

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");
    }

它会工作得很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章