public FileSyncLocation(string Path) { _changes = new ObservableCollection<FileChange>(); SetupWatcher(Path); _entryDispatcher = Dispatcher.CurrentDispatcher; _addChangeEvent += new AddChangeDelegate(AddChange); }
/// <summary> /// Add a new fileinfo to the list of changed files. /// </summary> /// <param name="change"></param> internal void AddNewChange(ChangedFile change) { if (Application.Current == null) { return; } if (Application.Current.Dispatcher.CheckAccess()) { if (!ChangedFiles.Contains(change)) { ChangedFiles.Add(change); } } else { AddChangeDelegate del = new AddChangeDelegate(AddNewChange); Application.Current.Dispatcher.Invoke(del, new object[] { change }); } }
/// <summary> /// Add a new fileinfo to the list of changed files. /// </summary> /// <param name="change"></param> internal void AddNewChange(ChangedFile change) { if (Application.Current == null) return; if (Application.Current.Dispatcher.CheckAccess()) { if (!ChangedFiles.Contains(change)) ChangedFiles.Add(change); } else { AddChangeDelegate del = new AddChangeDelegate(AddNewChange); Application.Current.Dispatcher.Invoke(del, new object[] { change }); } }