Na ukladanie rozloženia používame ResourceDictionariesinformácie pre našu aplikáciu. Lenivá inicializácia je skvelá, pretože požadované rozloženie elementu môžeme získať iba vtedy, keď je tento element vytvorený. Problém je v tom, že každý prvok dostane rovnakú inštanciu z databázy ResourceDictionary
pre každého, kto zdieľa rozloženie (alebo rovnaké, ak to prekračuje rozsah a je potrebné neskôr).
Mohli by sme ukladať šablóny do slovníka, potom nezáleží na tom, či sú zdieľané, ale máme celkom pekný systém, ktorý by fungoval, keby toto správanie pri ukladaní do pamäte cache nebolo.
Existuje spôsob, ako zmeniť toto správanie slovníka, alebo budem musieť napísať svoju vlastnú triedu, ktorá vytvára položky z XAML na požiadanie?
odpovede:
4 pre odpoveď č. 1Skúste použiť atribút x: Shared = "false". Každý zdroj by potom mal dostať samostatnú kópiu.