using NBAManagment.Filter; using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Imaging; namespace NBAManagement { public class MatchPhotoLineManger { private readonly IEnumerable imageViews; private readonly PagedEnumerable images; public MatchPhotoLineManger(IEnumerable imageViews, IEnumerable imageSources) { this.imageViews = imageViews; this.images = new PagedEnumerable(imageSources, imageViews.Count()); UpdateViewImages(); } public void NextPage() { images.NextPage(); UpdateViewImages(); } public void PriviusPage() { images.PriviusPage(); UpdateViewImages(); } private void UpdateViewImages() { var imagesArray = images.ToArray(); int i = 0; foreach (var imageView in imageViews) { using (var memory = new MemoryStream(imagesArray[i])) { BitmapImage image = new BitmapImage(); memory.Position = 0; image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.StreamSource = memory; image.EndInit(); image.Freeze(); imageView.Source = image; i++; } } } } }