public FolderListItemViewModel(FolderReactionManagePageViewModel pageVM, FolderModel folderModel) { PageVM = pageVM; FolderModel = folderModel; FolderName = folderModel.Folder.Name; }
public ReactionListItemViewModel(FolderReactionManagePageViewModel pageVM, FolderReactionModel reactionModel) { PageVM = pageVM; Reaction = reactionModel; Name = Reaction.Name.ToString(); var userFolder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); FilePath = Reaction.WorkFolder?.FullName ?? "<no setting>"; IsInactive = false == Reaction.IsEnable; IsInvalid = false == Reaction.IsValid; IsSelected = false; }
public ReactionManageFolderViewModel(FolderReactionManagePageViewModel pageVM, FolderModel folder) { PageVM = pageVM; Folder = folder; FolderName = Folder.Name; ReactionItems = Folder.Reactions .ToReadOnlyReactiveCollection(x => new ReactionListItemViewModel(PageVM, x)); FolderItems = Folder.Children .ToReadOnlyReactiveCollection(x => new FolderListItemViewModel(PageVM, x)); SelectedReaction = new ReactiveProperty<ReactionListItemViewModel>(); SelectedReaction.Subscribe(x => { if (x != null) { PageVM.ShowReaction(x.Reaction); x.IsSelected = true; } foreach (var item in ReactionItems.Where(y => y != x)) { item.IsSelected = false; } }); }