2011-04-29 22 views
0

如何在DatagridTemplateColumn上添加MouseDoubleClick事件?DatagridTemplateColumn上的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> 

我現在所擁有的MouseDoubleClick事件在DataGrid上本身做的,但是,這個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

我建議把你的Image包裝在ContentControl中。 ContentControl是Control的一個子類。 MouseDoubleClick在Control類中定義。

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

直到圖像設置爲無,然後沒有什麼可以點擊。我將如何克服這個問題? – 2011-04-29 11:07:05

+0

通過在圖像周圍的contentControl中添加透明背景的邊框來修復此問題。 但我仍然需要重點看看數據網格中的圖像變化。 – 2011-04-29 12:06:29

+0

可能包裹在別的東西? – IVerzin 2011-04-29 12:16:42

相關問題