Public Class MachiningTreeExpanderV ' Evento necessario per impedire che venga creata la lavorazione quando si fa doppio click sulla ScrollBar Private Sub MachiningsTreeView_MouseDoubleClick(sender As Object, e As System.Windows.Input.MouseButtonEventArgs) 'Dim src As DependencyObject = VisualTreeHelper.GetParent(DirectCast(e.OriginalSource, DependencyObject)) '' Your logic here 'If TypeOf src Is Control AndAlso src.[GetType]() <> GetType(Grid) Then ' e.Handled = True 'End If ' recupero il viewmodel associato a questa view in cui è presente la funzione che l'evento deve lanciare Dim MachiningTreeExpanderViewModel As MachiningTreeExpanderVM = DirectCast(Me.DataContext, MachiningTreeExpanderVM) ' recupero il treeviewitem clickato(sorgente dell'evento) Dim ClickedTreeViewItem As TreeViewItem = DirectCast(sender, TreeViewItem) ' ne recupero il VM da passare alla funzione Dim ClickedTreeViewItemVM As MachiningTreeViewExpanderItem = DirectCast(ClickedTreeViewItem.DataContext, MachiningTreeViewExpanderItem) MachiningTreeExpanderViewModel.TreeViewDoubleClick(ClickedTreeViewItemVM) End Sub End Class