/// <summary> /// Fetch data object from drag element. /// </summary> /// <param name="dragElement">Drag element.</param> /// <returns>Format-independent data transfer.</returns> public IDataObject GetDataObject(UIElement dragElement) { // Note: consider to replace this method with strong type vertion for FrameworkElement // (i.e. "drag'n'drop for elements with DataContext only") var sourcePanel = (IPanel)((FrameworkElement)dragElement).DataContext; // In case when source panel has parent panel container, // it is required to remove it (later, after drop) from parent panel container childs collection // if "drop move" operation will be used. // For "drop copy" operation cloning of this panel is sufficient. parentContainer = sourcePanel.Parent is IPanelContainer ? (IPanelContainer)sourcePanel.Parent : null; return(new DataObject(SupportedFormat.Name, sourcePanel)); }
public CardListListViewModel(ObservableCollection <ReadCardList> cardLists, int parentBoardId, IPanelContainer detailsContainer) { this.parentBoardId = parentBoardId; this.CardListViewModels = new ObservableCollection <CardListViewModel>(); this.detailsContainer = detailsContainer; foreach (ReadCardList cardList in cardLists) { CardListViewModels.Add(new CardListViewModel(cardList, OnDeleteCardList, detailsContainer, OnMoveCard, OnSelectedCard)); } NewListCommand = new CommandBase(OnNewListClick); InitActions(); Subscribe(); }
/// <summary> /// Gets debug panels layout. /// </summary> /// <returns>Debug panels layout.</returns> private static IPanel GetDebugLayout() { IPanelContainer workLeftTabContainer = GetWorkLeftTabContainer(); IPanelContainer workMiddleTabContainer = GetWorkMiddleTabContainer(); IPanelContainer workRightStackContainer = GetWorkRightStackContainer(); IPanelContainer workStackContainer = GetWorkStackContainer( workLeftTabContainer, workMiddleTabContainer, workRightStackContainer); IPanel enterPanel = GetEnterPanel(); enterPanel.Activate(); IPanelContainer subTabContainer1 = GetEnterTopTabContainer(); IPanelContainer subTabContainer2 = GetDisksTopTabSubContainer(); IPanelContainer topTabContainer = GetTopTabContainer(subTabContainer1, subTabContainer2); // workStackContainer.IsSelected = true; IPanelContainer mainTabContainer = GetMainTabContainer(enterPanel, workStackContainer, topTabContainer); return(mainTabContainer); //workLeftTabContainer }
public CardListViewModel(ReadCardList list, Action <ReadCardList> onDeleteCardList, IPanelContainer container, Action <MoveCard> onMoveCard, Action <ReadCardList> onSelectedCard) : base(container) { //Data this.CardList = list; //Commands AddCardCommand = new CommandBase(OnAddCardClick); DeleteCardListCommand = new CommandBase <ReadCardList>(OnDeleteCardList); DeleteCardListAction = onDeleteCardList; RenameCardListCommand = new CommandBase <ReadCardList>(OnRenameCardList); DeleteCardCommand = new CommandBase <ReadCard>(OnDeleteCard); OnMoveCardAction = onMoveCard; OnCardSelectedAction = onSelectedCard; InitActions(); Subscribe(); }
protected PanelOwnerViewModel(IPanelContainer container) { Container = container; HasPanelOpen = false; }