2017-07-24 80 views
0

Hello Event Setter处理程序不适用于MouseLeftButtonDown。检查xamlRadGrid的事件编译器问题wpf

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

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

回答

0

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

这将是做工精细。