2010-08-19 5 views
1

실버 라이트 그리드에 RowDetailsTemplate을 만들 때 specify a template for row details을 선택하면 해당 행 바로 아래에 표시됩니다.Silverlight RowDetailsTemplate을 해당 행 위에 배치하는 방법은 무엇입니까?

내 데이터 격자 중 하나에 대한 세부 정보는 각 행 바로 앞에 표시되는 것이 아니라 훨씬 더 좋아 보입니다.

은 내가 템플릿의이 부분에 도착하면 갇히지 혼합에 템플릿을 수정했지만, 결국했습니다

<sdk:DataGridRowsPresenter x:Name="RowsPresenter" 
Grid.ColumnSpan="2" Grid.Row="1"/> 

하는 DataGridRowsPresenter에 대한 관련 템플릿이있을 것 같지 않습니다 그래서 나는 할 수 없습니다 행의 세부 사항을 어떻게 움직일 수 있는지를 찾는 것 같습니다.

이것이 가능합니까?

답변

1

내 동료가이 해결책을 찾았습니다. Expression Blend 4에서 .NET 4를 사용하여 작동합니다.

DataGrid가 포함 된 프로젝트를 만듭니다. WPF뿐만 아니라 Silverlight에서도 작동합니다. DataGrid에서 "추가 템플릿 편집"을 사용하여 RowStyle의 복사본을 만듭니다. RowStyle을 편집하고 다음 줄이 어디에 볼 수 있습니다 :

<sdk:DataGridRowHeader x:Name="RowHeader" 
sdk:DataGridFrozenGrid.IsFrozen="True" Grid.RowSpan="3"/> 

sdk:DataGridCellsPresenter x:Name="CellsPresenter" Grid.Column="1" 
sdk:DataGridFrozenGrid.IsFrozen="True" 

sdk:DataGridDetailsPresenter x:Name="DetailsPresenter" Grid.Column="1" Grid.Row="1" 

DataGridCellsPresenterDataGridDetailsPresenterSystem.Windows.Controls.Primitive 네임 스페이스의 클래스입니다.

셀 발표자와 세부 발표자를 교환하고 스타일을 저장 한 다음 스타일을 DataGrid RowStyle 속성에 할당하십시오. 세부 정보가 행 셀 요소 위에 나타납니다.

전체 행 스타일을 얻으려면 블렌드 외에 다른 방법을 모르겠습니다.