2017-01-21 5 views
1

Я использую Caliburn.Micro и имею DataGrid. Для заполнения DataGrid используется DataTable.Caliburn.Micro получить данные ячейки данных DataGrid

Например, у меня есть три колонки:

COL ID | COL NAME | COL NAME2

Если пользователь нажимает на любую ячейку в столбце ID, я хочу, чтобы событие было запущено, и вы хотите получить содержащийся в ячейке текст (чтобы продолжить дальше).

Однако я не мог найти что-либо в Интернете, и я довольно озадачен этим.

+0

Любая конкретная причина, почему вы сделали unaccept ответ без каких-либо комментариев ...? – mm8

ответ

1

Вы можете обработать событие PreviewMouseLeftButtonDown для DataGridCell и получить доступ к свойству 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); 
    } 
}