2017-07-24 85 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"); 
    } 

這將是做工精細。