Zanim zacznę tutaj, jest odniesienie do tego, jak zaimplementowałem selektor szablonów w Silverlight.
http://geekswithblogs.net/tkokke/archive/2009/09/28/datatemplateselector-in-silverlight.aspx
Wszystko działa świetnie. Ale rozwiązanie po prostu nie działa w mieszankach, co ogólnie utrudnia wizualizację. Czy prawidłowy przepływ pracy polega po prostu na utworzeniu elementu UserControl z zawartości i osadzeniu go w słowniku zasobów, aby można go było mieszać, czy też jest lepszy sposób na Zrób to?
Tak czy inaczej, zadaję to pytanie i jednocześnie publikuję rozwiązanie Template Selector, ponieważ uznałem je za przydatne. Lepsze rozwiązania są bardzo mile widziane.
fyi .. sl4, .net4, najnowsze mieszanki… wszystkie nowe zabawki… wykorzystujące światło mvvm (małe znaczenie).
Odpowiedzi:
0 dla odpowiedzi № 1Polecam Ci następujący rodzaj implementacji: DataTemplateSelector w CodeProject.
Wadą opublikowanego linku jest to, że pliklokalizacja i nazwa szablonów są zakodowane na stałe w implementacji ContentControl. Dzięki podejściu opisanemu w artykule, do którego odsyłam, dostęp do szablonów danych można uzyskać w trybie in-line lub za pomocą zwykłych referencji {StaticResource} (co oznacza większą elastyczność) a ponadto Blend wie, co z tym zrobić.