Vyvíjel jsem nějakou demo aplikaci (na Surface, ale to není až tak důležité). Při tom jsem si ověřil, že ani přibývající množství šedin neochrání člověka před tím, aby v kódu dělal triviální chyby, které ho nutí si tyto šediny vzteky rvát. Posuďte sami.

Potřeboval jsem dynamicky měnit obrázek v UI, přičemž jsem předem neznal jeho rozlišení ani stranový poměr. Byl umístěn v kontejneru s pevnou výškou a šířkou (z určitého, pro ilustraci nepodstatného důvodu jsem nemohl použít dynamičtější kontejner). Mým cílem bylo změnit velikost kontejneru tak, aby poměr stran odpovídal poměru u vloženého obrázku. Napsal jsem tedy zhruba následující kód:

ScatterViewItem container = (ScatterViewItem) this.Parent;
container.Width = this.Photo.Source.Width / this.Photo.Source.Height * container.Height;

Vše fungovalo perfektně. O místo vedle jsem měl stejný problém s vloženým videem. Copy/Paste a malá úprava mne přivedly k tomuto kódu:

ScatterViewItem container = (ScatterViewItem) this.Parent;
container.Width = this.Movie.NaturalVideoWidth / this.Movie.NaturalVideoHeight * container.Height;

Tento ovšem naprosto nefungoval. Kdo první uhádne proč? Nehledejte v tom nic tajemného, je to opravdu chyba na úrovni prvního ročníku programování na gymnáziu, jenom není na první pohled příliš vidět.