2010-04-21 5 views
2

마우스를 사용하여 DataGrid의 열을 확장하고 축소하는 방법을 파악할 수있었습니다. 그러나 칼럼을 수축시키고 확장 한 후에는 세포의 높이가 감소하지 않습니다.Silverlight DataGrid 행의 셀 높이를 조정 하시겠습니까?

어떻게 셀 (또는 행)의 원래 높이를 가져올 수 있습니까? 이 문제를 조사 할 수 있습니까?

덕분에 내가 SO에이 솔루션을 찾을 수없는거야 때문에, 여기에 광산을 입력합니다

+0

AJ, 혹시 이것에 대한 해결책을 찾았습니까? – DanTheMan

답변

0

AJ.

행의 크기가 잘못된 이벤트를 찾아야합니다. 내 경우, 그것은 단지 위아래로 스크롤하고있었습니다 (그러나 여러 다른 유형의 이벤트에서이를 보았습니다). 다음은 크기 조정할 DataGrid를 가져 오는 코드입니다.

/// <summary> 
    /// Reset datagrid row height 
    /// </summary> 
    /// <param name="row"></param> 
    public void ResetRowHeight(DataGrid grid, DataGridRow row) 
    { 
     // only for autosize rows 
     if (!double.IsNaN(row.Height)) return; 

     // store current rowheight 
     double rowheight = grid.RowHeight; 

     // fore recalculating row height 
     grid.RowHeight = 0; 
     row.UpdateLayout(); 

     // restore rowheight 
     grid.RowHeight = rowheight; 
     row.UpdateLayout(); 
    } 

여기서 grid는 데이터 격자이고 행은 다시 설정해야하는 행입니다.

이제 문제를 일으키는 이벤트를 찾아서 그 이벤트가 있어야합니다.