public ImageFilterMenuViewModel(IEnumerable <ImageFilterData> menuItems, SelectedFiltersViewModel selectedVM) { MenuTiles = menuItems.CreateDerivedCollection(ifd => { var menuTile = new ImageFilterMenuTileViewModel(ifd.Id, ifd.Name, ifd.Description); menuTile.Add.Subscribe(x => selectedVM.AddFilter(ImageFilterFactory.CreateFilter(ifd.Id))); return(menuTile); }); }
private static ImageFilter CreateImageFilterModel(SelectedFilterTileViewModel fvm) { var @params = new List <ImageFilterParam>(); foreach (var p in fvm.Parameters) { @params.Add(new ImageFilterParam(p.Name, p.Min, p.Max, p.Step, p.Default) { Value = p.Value }); } return(ImageFilterFactory.CreateFilter(fvm.FilterType, @params.ToArray())); }