Esempio n. 1
0
        private void OnQueryPosition(AccountVM acctVm)
        {
            string viewName     = acctVm.InvestorId;
            var    existingPane = RegionManager.GetExistingPane <PositionContentPane>(viewName);

            if (existingPane != null)
            {
                existingPane.Activate();
                PositionView positionView = existingPane.Content as PositionView;
                if (positionView != null)
                {
                    positionView.ViewModel.RefreshPositionCommand.Execute();
                }
            }
            else
            {
                PositionContentPane pane = new PositionContentPane();
                pane.ViewName = viewName;
                var positionView = ServiceLocator.Current.GetInstance <PositionView>();
                positionView.ViewModel.SetAccount(acctVm);
                positionView.ViewModel.RefreshPositionCommand.Execute();
                pane.Content = positionView;
                //pane.CloseAction = Infragistics.Windows.DockManager.PaneCloseAction.RemovePane;
                pane.Closed += new EventHandler <Infragistics.Windows.DockManager.Events.PaneClosedEventArgs>(pane_Closed);

                RegionManager.RegisterViewWithRegion(RegionNames.PortfolioViewRegion,
                                                     () => pane);
                pane.Activate();
            }
        }
Esempio n. 2
0
        void pane_Closed(object sender, Infragistics.Windows.DockManager.Events.PaneClosedEventArgs e)
        {
            PositionContentPane pane = sender as PositionContentPane;

            if (pane != null)
            {
                PositionView positionView = pane.Content as PositionView;
                if (positionView != null)
                {
                    positionView.ViewModel.SetAccount(null);
                }
            }
            RegionManager.RemovePane(sender);
        }