public TabViewModel(IRenameableProvider provider, IReadOnlyCollection <Document> docs, OptionsViewModel optionsViewModel) { _provider = provider; _docs = docs; _optionsViewModel = optionsViewModel; Renameables = new ObservableCollection <RenameableViewModel>(); FillRenameables(); _optionsViewModel.PropertyChanged += (s, e) => OptionsVmOnPropertyChanged(); }
public TabVm(IRenameableProvider provider, IReadOnlyCollection <Document> docs, OptionsVm optionsVm) { _provider = provider; _optionsVm = optionsVm; Renameables = new ObservableCollection <RenameableVm>(); foreach (var doc in docs) { var renameables = provider.GetRenameables(doc); foreach (var renameableVm in renameables.GroupBy(x => x.Source) .Select(x => new RenameableVm(x.ToList()))) { renameableVm.Checked += (sender, b) => OptionsVmOnPropertyChanged(); Renameables.Add(renameableVm); } } _optionsVm.PropertyChanged += (s, e) => OptionsVmOnPropertyChanged(); }