示例#1
0
        /// <summary>Constructs the <see cref="FileGraphViewModel"/>.</summary>
        public FileGraphViewModel(SettingsService settings,
                                  TreemapRendererFactory treemapFactory,
                                  UIService ui)
        {
            Settings = settings;
            Treemap  = treemapFactory.Create();
            UI       = ui;

            Settings.PropertyChanged += OnSettingsPropertyChanged;

            resizeTimer = UI.CreateTimer(TimeSpan.FromSeconds(0.05), true, OnResizeTick);
        }
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public MainViewModel(SettingsService settings,
                             ScanningService scanning,
                             IconCacheService iconCache,
                             UIService ui,
                             BitmapFactory bitmapFactory,
                             ImagesServiceBase images,
                             ClipboardService clipboard,
                             OSService os,
                             IMyDialogService dialogs,
                             TreemapRendererFactory treemapFactory,
                             RelayCommandFactory relayFactory)
            : base(relayFactory)
        {
            Settings      = settings;
            Scanning      = scanning;
            IconCache     = iconCache;
            UI            = ui;
            BitmapFactory = bitmapFactory;
            Images        = images;
            Clipboard     = clipboard;
            OS            = os;
            Dialogs       = dialogs;
            Treemap       = treemapFactory.Create();

            Settings.PropertyChanged += OnSettingsPropertyChanged;
            Scanning.PropertyChanged += OnScanningPropertyChanged;

            Extensions = new ExtensionItemViewModelCollection(this);

            SelectedFiles = new ObservableCollection <FileItemViewModel>();
            SelectedFiles.CollectionChanged += OnSelectedFilesChanged;

            FileComparer      = new FileComparer();
            ExtensionComparer = new ExtensionComparer();
            UpdateEmptyRecycleBin();

            GCRAMUsage = GC.GetTotalMemory(false);
            if (IsInDesignMode)
            {
                // Code runs in Blend --> create design time data.
            }
            else
            {
                // Code runs "for real"
                ramTimer    = UI.StartTimer(Settings.RAMInterval, true, OnRAMUsageTick);
                statusTimer = UI.CreateTimer(Settings.StatusInterval, true, OnStatusTick);
            }
        }