Ai mitenniin foorumin elämä yhdessä ketjussa on vaikeaa? Eikös täällä joskus jossain ollut WPF-ketju?
Kysymys heille, jotka WPF:stä jotain oikeasti ymmärtävät, kuten cajelle.
Minulla on seuraavanlainen luokka
Code: Select all
public class härpäke: ObservableCollection<ObservableCollection<Bitmap>>
{
public int ID
{ get; set; }
public override string ToString()
{
return ""+ID;
}
}
jota kannattaisi oikeastaan käsitellä Winformsissa tuon System.Drawing.Bitmapin (joka on olemassa, yllättäen, WPF:ää vanhempien muiden kirjastojen takia) vuoksi. Joka tapauksessa, heitän tuosta luokasta instansseja vielä kolmanteen OC:hen, koska tarvitsen 3D-rakenteen, joka kuitenkin taipuu databindingiin. Laitan sitten tuon uloimman kokoelman ItemsSourceksi Listboxiin. Tämä nimenomainen listbox saa kokoelmakseen ihan oikean kokelman, mutta listboxin ulkoasu on
tällainen. Mistä ihmeestä tuo ListboxItemien (collection) - teksti tulee, kun olen kuitenkin ylikirjoittanut ToStringin tuosta luokasta, jota Listboxissa näkyy.
Jokerikysymyksenä, jotta saan tulostettua noita Bitmappeja ikkunaan, muutan ne WPF-yhteensopiviksi seuraavalla koodinpätkällä:
Code: Select all
public static BitmapSource loadBitmap(System.Drawing.Bitmap source)
{
return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(source.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}
}
Hän toimii ihan kivasti hetken, mutta yllättäen alkaa heittää ExternalExceptionia, joka ei yllättäen kerro muuta kuin että hassuja sattui jossain COMin puolella. Toinen hyvä syy vaihtaa vanhat kirjastot uusiin tai WPF Winformsiin, vai pystyykö asialle tekemään jotain?