public StashListTeamExplorerNavigationItem([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; _teamExplorer = _serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer; _image = Resources.TeamExplorerIcon; _gitService = (IGitExt)_serviceProvider.GetService(typeof(IGitExt)); IsVisible = _gitService.AnyActiveRepository(); _gitService.PropertyChanged += GitServicePropertyChanged; }
private void GitServicePropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) { IsVisible = propertyChangedEventArgs.PropertyName == nameof(_gitService.ActiveRepositories) && _gitService.AnyActiveRepository(); if (IsVisible) { Dispatcher.CurrentDispatcher.Invoke(() => { if (_teamExplorer.CurrentPage.GetId() == new Guid(Constants.HomePageId)) { _teamExplorer.CurrentPage.Refresh(); } }); } }