void OnCloseSession(ProfilerSession profilerSession)
 {
     _activeSessions.Remove(profilerSession);
     if (_selectedSessionIndex >= _activeSessions.Count)
         SelectedSessionIndex = _activeSessions.Count - 1;
     profilerSession.Content.Close();
     profilerSession.Scope.Dispose();
 }
 void OnCloseSession(ProfilerSession profilerSession)
 {
     _activeSessions.Remove(profilerSession);
     if (_selectedSessionIndex >= _activeSessions.Count)
     {
         SelectedSessionIndex = _activeSessions.Count - 1;
     }
     profilerSession.Content.Close();
     profilerSession.Scope.Dispose();
 }
        void StartSession()
        {
            var sessionScope = _componentContext.BeginLifetimeScope(Constants.ProfilerSessionScopeTag);
            var sessionView = sessionScope.Resolve<SessionView>();
            var sessionViewModel = (SessionViewModel) sessionView.DataContext;

            var session = new ProfilerSession(WaitingTitle, sessionScope, sessionView);
            _activeSessions.Add(session);
            var tabIndex = _activeSessions.Count - 1;

            sessionViewModel.Connected += (s, args) =>
            {
                session.Title = Path.GetFileName(args.ProcessName);
                SelectedSessionIndex = tabIndex;
                StartSession();
            };

            sessionViewModel.Start();
        }
        void StartSession()
        {
            var sessionScope     = _componentContext.BeginLifetimeScope(Constants.ProfilerSessionScopeTag);
            var sessionView      = sessionScope.Resolve <SessionView>();
            var sessionViewModel = (SessionViewModel)sessionView.DataContext;

            var session = new ProfilerSession(WaitingTitle, sessionScope, sessionView);

            _activeSessions.Add(session);
            var tabIndex = _activeSessions.Count - 1;

            sessionViewModel.Connected += (s, args) =>
            {
                session.Title        = Path.GetFileName(args.ProcessName);
                SelectedSessionIndex = tabIndex;
                StartSession();
            };

            sessionViewModel.Start();
        }
 static bool CanCloseSession(ProfilerSession profilerSession)
 {
     return profilerSession.Title != WaitingTitle;
 }
 static bool CanCloseSession(ProfilerSession profilerSession)
 {
     return(profilerSession.Title != WaitingTitle);
 }