private void ListBoxItemMouseDoubleClick(object sender, MouseButtonEventArgs e) { var dataRepositoryItem = sender.GetDataContext <DataRepositoryItem>(); if (dataRepositoryItem != null) { if (!dataRepositoryItem.IsLeaf) { DataRepositoryItemMouseDoubleClickUserControlEventArgs args = new DataRepositoryItemMouseDoubleClickUserControlEventArgs(); args.SelectedDataRepositoryItem = dataRepositoryItem; OnDataRepositoryItemMouseDoubleClick(args); if (args.Handled) { return; } if (dataRepositoryItem.Parent != null && !dataRepositoryItem.Parent.IsExpanded) { dataRepositoryItem.Parent.IsExpanded = true; } dataRepositoryItem.Refresh(); dataRepositoryItem.IsExpanded = true; dataRepositoryItem.IsSelected = true; DataContext = dataRepositoryItem; } else if (dataRepositoryItem.IsLoadable) { dataRepositoryItem.Load(); } } }
protected virtual void OnDataRepositoryItemMouseDoubleClick(DataRepositoryItemMouseDoubleClickUserControlEventArgs e) { EventHandler <DataRepositoryItemMouseDoubleClickUserControlEventArgs> handler = DataRepositoryItemMouseDoubleClick; if (handler != null) { handler(this, e); } }