我有一個TreeView WPF和2級數據。
我已經從TreeViewItemTemplate中刪除了ToogleButton。現在,我想通過單擊鼠標單擊來展開/摺疊組(而不是雙擊作爲默認行爲)。
我已經試過這樣:在第一次點擊後再次選擇WPF TreeviewITem
Private Sub tvArt_SelectedItemChanged(ByVal sender As System.Object, _
ByVal e As RoutedPropertyChangedEventArgs(Of System.Object)) Handles tvArt.SelectedItemChanged
If e.NewValue Is Nothing = False Then
Dim ri As P_RicambiItem = TryCast(e.NewValue, P_RicambiItem)
If ri Is Nothing = False Then
If ri.isExpanded Then
ri.isExpanded = False
Else
ri.isExpanded = True
End If
ri.isSelected = False
End If
End If
End Sub
在收集數據源使用我的財產isExpanded
和isSelected
。
但是它只工作一半:第一次點擊後,事實上,我不能再次點擊同一項目,因爲即使我已經取消選擇它,事件處理程序「記得」它是最後選擇的項目,它不捕獲事件SelectedItemChanged
。
我該怎麼辦?
謝謝!但是我找不到TreeView的「Click」事件。在「MouseUp」事件中,我看不到數據,因爲treeviewitem仍未選中。你可以給我看一小段代碼嗎? C#很好,我會做「翻譯」。 – lamarmora 2010-06-07 07:53:37
對,對不起。這有點誤導。我更新了處理PreviewMouseDown事件的方法。 – hemp 2010-06-07 08:03:22
非常感謝!它運作良好! – lamarmora 2010-06-07 09:11:11