2017-01-21 4 views
1

나는 을 사용하고 있으며 DataGrid입니다. DataGrid을 채우려면 DataTable이 사용됩니다.Caliburn.Micro는 DataGrid가 셀의 데이터를 클릭하도록합니다.

예를 들어 세 개의 열이 있습니다.

COL ID | COL 이름 | COL NAME2

사용자가 ID 열의 셀을 클릭하면 이벤트가 발생하고 더 이상 진행하기 위해 셀에 포함 된 텍스트를 가져 오려고합니다.

그러나 나는 인터넷에서 아무 것도 찾을 수 없었으며 꽤 당황 스러웠습니다.

+0

당신이 어떤 코멘트없이 대답 수락 취소 한 이유에 어떤 특별한 이유 ...? – mm8

답변

1

DataGridCell에 대한 PreviewMouseLeftButtonDown 이벤트를 처리하고 해당 Content 속성에 액세스 할 수 있습니다. 다음 코드 샘플에서는 아이디어를 제공합니다.

<DataGrid> 
    <DataGrid.CellStyle> 
     <Style TargetType="DataGridCell"> 
      <EventSetter Event="PreviewMouseLeftButtonDown" Handler="dg_PreviewMouseLeftButtonDown" /> 
     </Style> 
    </DataGrid.CellStyle> 
</DataGrid> 

private void dg_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    DataGridCell cell = sender as DataGridCell; 
    TextBlock tb = cell.Content as TextBlock; 
    if (tb != null) 
    { 
     MessageBox.Show(tb.Text); 
    } 
}