private void TabControl_DragOver(object sender, DragEventArgs e) { IAccountPaneViewModel pane = GetPaneUnderCursor(e); if (pane != null && pane.AcceptsDrop(e.ToDragData())) { e.Effects = DragDropEffects.Copy | DragDropEffects.Move; } else { e.Effects = DragDropEffects.None; } }
private int GetNonRecycledTabIndexForViewModel(IAccountPaneViewModel viewModel) { for (int i = 0; i < NonRecycledTabs.Children.Count; i++) { var element = (FrameworkElement)NonRecycledTabs.Children[i]; var elementContext = (IAccountPaneViewModel)element.DataContext; if (viewModel == elementContext) { return(i); } } return(-1); }
private void TabControl_Drop(object sender, DragEventArgs e) { IAccountPaneViewModel targetPane = GetPaneUnderCursor(e); if (targetPane == null) { return; } DragData data = e.ToDragData(); if (data == null) { return; } targetPane.DropDataAsync(data); }
private UIElement CreateElementForViewModel(IAccountPaneViewModel viewModel) { if (viewModel is BlobStoragePanelViewModel) { return new BlobStoragePanel { DataContext = viewModel } } ; if (viewModel is ApplicationInsightsPanelViewModel) { return new ApplicationInsightsPanel { DataContext = viewModel } } ; if (viewModel is MessengerViewModel) { return new MessengerPanel { DataContext = viewModel } } ; if (viewModel is RedisViewModel) { return new RedisPanel { DataContext = viewModel } } ; return(null); }