Hei!
Olen tässä rakentamassa pientä kuvienkatseluohjelmaa ja olisi tarkoitus lätkäistä stackpaneliin kuvia. Ongelmaa alkaa kuitenkin tulemaan kun valittuja kuvia on reippaasti, itsellä yli 3000. Tällöin tulee käsittämätön virhesanoma, josta ei irtoa mitään.
XamlParseException was unhadled
{"'The invocation of the constructor on type 'Kuvankatselin.MainWindow' that matches the specified binding constraints threw an exception.' Line number '3' and line position '9'."}
Tätä ei siis tule jos kuvia on vähän, luokkaa < 100. Alla on vielä koodi joka käsittelee kuvien pistämisen stackpaneliin. Kuvien sijainnit on ladattu FileInfo taulukkoon.
public void PaivitaKuvalista() { // Tyhjätään edelliset kuvat poies kuvalista.Children.Clear(); // Käydään läpi kuvatiedostot for (int i = sivu*50; sivu*50 + i < sivu*50 + 50;i++) { if (i > projekti.Kuvat.Length) { break; } // Lisätään kuvat Image kuva = new Image(); kuva.Stretch = Stretch.Uniform; BitmapImage skuva = new BitmapImage(); skuva.BeginInit(); skuva.UriSource = new Uri(projekti.Kuvat[i].FullName); skuva.DecodePixelWidth = 200; skuva.EndInit(); kuva.Source = skuva; // Lisätään kuva listaan kuvalista.Children.Add(kuva); } }
Voivatko ongelmani johtua myös muistin loppumisesta koneessani?
pistä try catch, ja katso tuleeko System.OutOfMemoryException
Kiitoksia vinkistä ja sain selvitettyä mistä ongelma johtui. En ollut tehnyt tarkastusta minkälaisia tiedostoja luin muistiin niinpä muutama piilotiedosto oli päässyt listalle ja nämä kaatoivat ohjelman koska eivät olleet kuvamuotoa. Nyt enää on vain hoideltavana muutama pienempi ongelma.
Aihe on jo aika vanha, joten et voi enää vastata siihen.