c7b7aec302
-aggiunto selezione albero con un solo click -sistemato assemblato quando si seleziona pezzo in produzione
55 lines
2.7 KiB
VB.net
55 lines
2.7 KiB
VB.net
Public Class StrategyManagerV
|
|
|
|
'Private Sub TreeViewItem_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
|
|
' If TypeOf sender IsNot TreeViewItem Then Return
|
|
' Dim TreeViewItem As TreeViewItem = DirectCast(sender, TreeViewItem)
|
|
' Dim TreeViewItemButton As Object = TreeHelperManager.FindVisualParent(Of Primitives.ToggleButton)(e.OriginalSource)
|
|
' Dim TreeViewItemParentNode As Object = TreeHelperManager.FindVisualParent(Of TreeViewItem)(sender)
|
|
' If Not IsNothing(TreeViewItemButton) OrElse Not IsNothing(TreeViewItemParentNode) Then Return
|
|
' TreeViewItem.IsExpanded = Not TreeViewItem.IsExpanded
|
|
'End Sub
|
|
|
|
Private Sub TreeViewItem_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
|
|
If TypeOf sender IsNot TreeViewItem Then Return
|
|
Dim treeViewItem As TreeViewItem = DirectCast(sender, TreeViewItem)
|
|
If TypeOf treeViewItem.DataContext IsNot StrategyFeature Then
|
|
Dim Topology As Topology = DirectCast(treeViewItem.DataContext, Topology)
|
|
Topology.CreateStrategyViews()
|
|
Topology.ActiveStrategyList_View.Refresh()
|
|
Topology.AvailableStrategyList_View.Refresh()
|
|
Else
|
|
Dim Feature As StrategyFeature = DirectCast(treeViewItem.DataContext, StrategyFeature)
|
|
For Each Topology As Topology In Feature.TopologyList
|
|
Topology.ActiveStrategyList_View.Filter = Function(item) False
|
|
Topology.AvailableStrategyList_View.Filter = Function(item) False
|
|
Topology.ActiveStrategyList_View.Refresh()
|
|
Topology.AvailableStrategyList_View.Refresh()
|
|
Next
|
|
End If
|
|
' Controlla se il clic è avvenuto sulla HEADER o sul TOGGLEBUTTON
|
|
Dim clickedElement As DependencyObject = e.OriginalSource
|
|
While Not IsNothing(clickedElement) AndAlso TypeOf clickedElement IsNot TreeViewItem
|
|
If TypeOf clickedElement Is Primitives.ToggleButton Then
|
|
' Se il ToggleButton è stato cliccato, espandi o chiudi
|
|
treeViewItem.IsExpanded = Not treeViewItem.IsExpanded
|
|
' Se il nodo è chiuso, togli la selezione
|
|
If Not treeViewItem.IsExpanded Then
|
|
treeViewItem.IsSelected = False
|
|
End If
|
|
e.Handled = True
|
|
Return
|
|
End If
|
|
clickedElement = VisualTreeHelper.GetParent(clickedElement)
|
|
End While
|
|
' Se il clic è sul nodo principale, espandi/chiudi
|
|
If clickedElement Is treeViewItem AndAlso Not treeViewItem.IsSelected Then
|
|
treeViewItem.IsExpanded = Not treeViewItem.IsExpanded
|
|
' Se il nodo è chiuso, togli la selezione
|
|
If Not treeViewItem.IsExpanded Then
|
|
treeViewItem.IsSelected = False
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
End Class
|