2012-05-04 5 views
1

datatemplate 안에있는 이미지의 ID를 가져와야합니다. 코드는 아래에 나와 있습니다.silverlight 데이터 그리드에서 ID를 찾는 방법

<sdk:DataGrid.Columns> 
<sdk:DataGridTemplateColumn x:Name="colDeleteContent" IsReadOnly="True" Header="Delete Content" Width="100" CanUserResize="False"> 
    <sdk:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
     <StackPanel x:Name="spDeleteContent" VerticalAlignment="Center" Margin="10,0,0,0" Width="20" Height="20" HorizontalAlignment="Center" Orientation="Vertical"> 
      <Image x:Name="imgDeleteContent" Source="Assets/Images/close.png" Height="15" Tag="Assets/Images/close.png" Width="15" Margin="0" Cursor="Hand" Opacity="0" /> 
     </StackPanel> 
     </DataTemplate> 
    </sdk:DataGridTemplateColumn.CellTemplate> 
    </sdk:DataGridTemplateColumn> 
</sdk:DataGrid.Columns> 

나는 내가 뒤에 내 코드에서 해당 DataTemplate을의 StackPanel의 내부에 배치 한 "imgDeleteContent"의 ID를 얻을 필요가있다.

Pls는 도움말, 감사

+0

당신이 찾고 싶은 행의 색인을 알고 계십니까? – vorrtex

+0

@vorrtex 행의 색인을 모르겠다. 나는 그 점을 얻지 못했다. 그 이미지는 데이터 그리드의 0 번째 열에 위치한다. 답장을 보내 주셔서 감사합니다. – Arun

+0

먼저 인덱스별로 행을 검색해야합니다. 예를 들면 다음과 같습니다. http://stackoverflow.com/a/4065667/427225. 그런 다음 여기 (http://stackoverflow.com/a/3121715/427225)와 같이 셀 값을 가져와야합니다. 그런 다음 StackPanel에 요소를 캐스팅하고 이미지를 찾을 수 있습니다. 그러나 뷰 모델과 데이터 바인딩을 사용하는 것이 훨씬 쉽고 더 낫습니다. – vorrtex

답변

1

당신은 그 imgDeleteContent 제어를 찾기 위해 빠른 시계를 사용

StackPanel Sp = grdProducts.Columns[1].GetCellContent(e.Row) as StackPanel; 

아래와 같이 그리드로드 행 이벤트에 컨트롤 이름을 찾을 수 있습니다. 그리고 뭐든지 할게 :)

관련 문제