2012-05-04 8 views
1

データテンプレートの内部にある画像の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; 

の下のようなグリッド・ロード・ローイベントでコントロール名を見つけることができます。あなたの好きなことをやってください:)

関連する問題