2011-04-29 7 views
0

DatagridTemplateColumn에 MouseDoubleClick 이벤트를 추가하는 방법은 무엇입니까?DatagridTemplateColumn의 MouseDoubleClick 이벤트

내 칼럼 : 나는 이제 데이터 그리드 자체에 MouseDoubleClick 이벤트와 함께 할

<DataGridTemplateColumn Header="PK"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Image Name="pk" HorizontalAlignment="Center" Stretch="None" /> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding Path=Primary_Key}" Value="J"> 
    <Setter TargetName="pk" Property="Source" Value="/UserInterface;component/Resources/Images/key.png"/> 
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

하지만,이 모든에 화재 offcourse는 셀에 더블 클릭은 :

Private Sub dgColumns_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) 
    Dim dg As DataGrid = CType(sender, DataGrid) 
    If dg.SelectedItem IsNot Nothing AndAlso dg.SelectedItem.GetType Is GetType(Attribuut) Then 
     If CType(dg.SelectedItem, Attribuut).Primary_Key = "J" Then 
      CType(dg.SelectedItem, Attribuut).Primary_Key = "N" 
     Else 
      CType(dg.SelectedItem, Attribuut).Primary_Key = "J" 
     End If 
    End If 
End Sub 

이 열 이미지를 만듭니다 변화,하지만 내가 세포를 떠날 때만, 나는 이것을 어떻게 즉시 할 수 있을까?

답변

1

ImageControl에서 이미지를 래핑하는 것이 좋습니다. ContentControl은 Control의 하위 클래스입니다. MouseDoubleClick은 Control 클래스에 정의되어 있습니다.

<ContentControl MouseDoubleClick="cc_MouseDoubleClick"> 
    <Image Name="pk" Source="my.png" HorizontalAlignment="Center" Stretch="None" /> 
</ContentControl> 
+0

이미지가 Nothing으로 설정 될 때까지 작동하며 클릭 할 내용이 없습니다. 이 문제를 어떻게 극복하겠습니까? –

+0

이 문제는 이미지 주변의 contentControl에 투명 배경을 가진 테두리를 추가하여 수정되었습니다. 하지만 여전히 데이터 그리드의 이미지가 변경되지 않도록주의해야합니다. –

+0

다른 패키지로 묶을 수 있습니까? – IVerzin