@spivonious:

I know DataBinding for me is awsome. I have actually implemented databinding on htmlDOM using jQuery. DataBinding is amazing because changing the visual is so easy. The template is very modular and I can change it with little efforts and the potential of me screwing up is low as well.

It is certainly vast though. I typically don't do dictionary (translation, forgot the term) on the binding. And the dynamic update is not that great. I have to use background worker or pinvoke, messy and typically freez an application, (Mine is crazy 40,000+ photos, so, it is my fault). Although, WL Photo Gallery can handle my photos collection effectively, not sure how it works (Wave 4 only, wave 3 crashed).

Suggestion:

I think it would be great if MS make some kind of framework on top of WPF to do dynamic update gracefully. Like, some kind of buffer loading the update in an external thread, and once it is done, switch the current thread to the new result. The background worker is heavy because it has to halt the GUI and making the update.

Another thing I hope to have is the managed photo element. LIke, when it is hidden/collapsed, it use single color. When it is visible, it will load specified tiny preview, like 10x10. And when it is actually visible in the scrolling view, it will load decodewidth at element width. I tried to do it myself, but, the checking "actually visible in the scrolling view" is rather hard when I have 40k photos.