public ScrollViewer(string shortinfo, string directory) { InitializeComponent(); Title = shortinfo; Task.Run(() => { Thread.Sleep(100); int cnt = 0; var comp = new Strings.NaturalComparer(); var files = Directory.GetFiles(directory).ToList(); files.Sort((x, y) => comp.Compare(x, y)); foreach (var file in files) { Device.BeginInvokeOnMainThread(() => { var image = new CachedImage(); ViewStack.Children.Add(image); image.Margin = new Thickness(4, 4, 4, 4); image.DownsampleToViewSize = true; image.Success += (s, e) => { var h = e.ImageInformation.OriginalHeight; var w = e.ImageInformation.OriginalWidth; if (Width > w) { image.HeightRequest = h; image.WidthRequest = w; } else { image.WidthRequest = Width; image.HeightRequest = Width * h / w; } }; image.IsVisible = true; image.Source = file; }); Thread.Sleep(500); if (++cnt >= 20) { break; } } }); }
public SubdirSelector(DownloadDBModel dbm) { InitializeComponent(); Titles = new List <string>(); var comp = new Strings.NaturalComparer(); var folders = Directory.GetDirectories(dbm.Directory).ToList(); Title = dbm.ShortInfo; superpath = dbm.Directory; folders.Sort((x, y) => comp.Compare(x, y)); folders.ForEach(x => Titles.Add(Path.GetFileName(x))); BindingContext = this; }
public ScrollViewer(string shortinfo, string directory) { InitializeComponent(); Title = shortinfo; Images = new List <imgs>(); List.ItemsSource = Images; var comp = new Strings.NaturalComparer(); var files = Directory.GetFiles(directory).ToList(); files.Sort((x, y) => comp.Compare(x, y)); foreach (var file in files) { Images.Add(new imgs { Path = file }); } }