2014-09-03 5 views
0

내 gridview에서 전체 행을 클릭하고 대화 상자를 표시합니다. 이 대화 상자에는 그리드 자체의 값이 들어 있습니다. 여기 내 샘플 xaml 코드입니다.gridview에서 전체 행을 더블 클릭

<telerik:GridViewDataColumn Header="First Name" Width="*" DataMemberBinding="{Binding FirstName}" /> 
       <telerik:GridViewDataColumn Header="Last Name" Width="*" DataMemberBinding="{Binding LastName}" /> 
       <telerik:GridViewDataColumn Header="Middle Name" Width="*" DataMemberBinding="{Binding MiddleName}" /> 
       <telerik:GridViewDataColumn Header="Registration Day" Width="*" DataMemberBinding="{Binding RegistrationDay, StringFormat={}{0:dd/MM/yyyy}}" /> 
       <telerik:GridViewDynamicHyperlinkColumn Header="Email" Width="*" DataMemberBinding="{Binding Email}" /> 
       <telerik:GridViewDataColumn Header="Password" Width="*" DataMemberBinding="{Binding Access}" /> 

이 값은 또한 내 대화 상자의 값입니다. 난 그냥 .. 대신 내가 .. 당신이 나를 도울 수 있기를 바랍니다 구현하는 편집 버튼을 클릭하는 행과 더블 클릭을 할

답변

1

두 가지 방법을 원하는 :

  1. IsReadOnly = true과 이상의 세트의 gridview 세트의 gridview의 MouseDoubleClick 이벤트 :

    private void dg1_MouseDoubleClick(object sender, MouseButtonEventArgs e) 
    { 
        Student s = dg1.SelectedItem as Student; 
        if (s != null) 
        { 
         MessageBox.Show(s.Name + " " + s.Age); 
        } 
    } 
    
  2. 세트의 gridview의 PreviewMouseDoubleClick 이벤트 :

    private void dg1_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) 
    { 
        Student s = dg1.SelectedItem as Student; 
        if (s != null) 
        { 
         MessageBox.Show(s.Name + " " + s.Age); 
        } 
    
        e.Handled = true; 
    } 
    
+1

이 맞습니까? 다음 내 코드는 다음과 같이해야한다 뒤에 .. 개인 무효 grdProducts_MouseDoubleClick (개체를 보낸 사람, MouseButtonEventArgs 전자) { } 문신 mousedouble 클릭 내 대화 상자를 볼 수 있습니다. 내 편집 버튼 코드처럼 ... 여기 : 제품 제품 = (RadButton으로 보낸 사람) .DataContext as Product; ShowProductWindow (제품); 죄송합니다. 논리가 좋지 않습니다. – iamkcdavid

+0

이 이벤트에서 @Kim은 보낸 사람이 RadGridView이므로 'Radender'처럼 '보낸 사람'처럼 사용할 수 없습니다. 너의 논리를 모르겠다. 선택된 항목을 보여주고 싶니? – Rang

+1

예를 들어, 모든 데이터 열 머리글에 이미 데이터가 있습니다. 데이터를 저장하면 모든 데이터가 바로 1 행에 저장됩니까? 그리드에서 해당 행을 두 번 클릭하고 그리드의 모든 데이터를 대화 상자 창에 표시합니다. :) – iamkcdavid

0

MVVM을 사용하는 경우 클릭 한 행의 DataContext를 매개 변수로 전달하는 ICommand를 첨부하는 것이 좋습니다.