void OnAssemblyViewModelPropertyChanged(object sender, PropertyChangedEventArgs e) { AssemblyViewModel assemblyVM = sender as AssemblyViewModel; string IsSelected = "IsSelected"; string SelectedType = "SelectedType"; assemblyVM.VerifyPropertyName(IsSelected); assemblyVM.VerifyPropertyName(SelectedType); if (e.PropertyName == IsSelected) { if (assemblyVM.IsSelected) { this.SelectedAssemblyOrType = assemblyVM; } } else if (e.PropertyName == SelectedType) { if (assemblyVM.SelectedType != null) { this.SelectedAssemblyOrType = assemblyVM.SelectedType; } } }
List <AssemblyViewModel> LoadAssemblies() { Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); List <AssemblyViewModel> list = new List <AssemblyViewModel>(); foreach (Assembly assembly in assemblies) { AssemblyViewModel assemblyVM = new AssemblyViewModel(assembly, this); if (!assemblyVM.DisplayName.StartsWith("Sleuth.InjectedViewer") && !assemblyVM.DisplayName.StartsWith("ManagedInjector")) { assemblyVM.PropertyChanged += this.OnAssemblyViewModelPropertyChanged; list.Add(assemblyVM); } } list.Sort((a1, a2) => a1.DisplayName.CompareTo(a2.DisplayName)); if (list.Count != 0) { list[0].IsSelected = true; } return(list); }
public TypeViewModel(Type type, AssemblyViewModel containingAssembly) : base(containingAssembly.AssemblyBrowser.MemoryExplorer) { if (type == null) { throw new ArgumentNullException("type"); } _type = type; _containingAssembly = containingAssembly; _filterSettings = new MemoryExplorerListFilterSettingsViewModel(containingAssembly.AssemblyBrowser.MemoryExplorer); base.DisplayName = _type.FullName; }