Yep! :-) I could not resist the temptation... so here you go... I have now built a new control for Silverlight 3: A "UI virtualizing" Wrap Panel control, which has now been released as Release 10.5.
I had planned this control as part of Release 11 package though… well… nothing wrong to “push out” a part of the release - a bit early :-)
This control will be the world's first Virtualizing Wrap Panel control for Silverlight 3 :-)
The control is based on my popular UI Virtualizing Wrap Panel control for WPF (which is also the world first of its kind for WPF platform).
Microsoft had certainly listened to some of my earlier rant on the missing bits that I had needed to do this control :-)... So thanks to "Redmond buddies" too on this :-)
That said, the porting of my WPF code to Silverlight 3 was not that straight-forward anyway (the SL3 RTM still was not exactly in sync with the WPF version of ItemsControl and the core VirtualizingPanel classes), but anyway, I have managed to get my SL 3 control done with my own code bits to fill the gap :-) Ha!
In terms of features, this Silverlight 3 control is exactly the same as the WPF one.
The new Silverlight 3 .NET control has now been released as UIControlSuite .NET Release 10.5... so you are welcome to come and grab your copy! :-)
You can also see a live demo of this control "in action" here:
Note: You will need Silverlight 3 RTM to run the demo.
Out-of-Browser install of the application demonstration!
The online demonstration application has been configured to be run Out-of-browser (OOB feature of Silverlight 3), so you can install the demo on to your local machine/laptop by just right clicking on the application demo page, and invoking the command "Install BinaryVirtualizingWrapPanel for SL 3 onto this computer...".
Enjoy Release 10.5! :-)
-Sundar
Hi Sundar,
I have a problem with implementing the Virtualizing WrapPanel myself. I took the lead from Dan Crevier's blog and certain other sources on the web to implement the panel.
I was hit when trying to set the Background property of the panel. Dan Crevier had simulated the scroll behavior by setting the RenderTransform property of the Panel with a Translation matrix. When I set the Background to some arbitrary color, and then I scroll, I can see that the entire panel is not painted with the color. Rather whatever was visible in the initial viewport was painted with that background. When scrolled down, the background is gone for the newly scrolled-in regions.
I was wondering if you could assist me in explaining why the behavior is so, and how I can fix it.
Thanks,
Karthik.
Posted by: Karthik | August 24, 2009 at 09:57 AM
sorry I forgot to provide the link to Dan Crevier's blog.
Here it is, in case u haven't seen it.
http://blogs.msdn.com/dancre/archive/2006/02/06/526310.aspx
Posted by: Karthik | August 24, 2009 at 10:36 AM
Hi Karthik,
Thanks for visiting my blog.
I am not sure about Dan's implementation, so i can't justify any comment on his code.
All that said, i don't see the problem you are describing, in my controls - i.e. in both the WPF and Silverlight 3 implementations.
You can see that fact even now with my online demonstration of my virtualizing wrappanel for silverlight 3 from here:
http://www.binarymission.co.uk/binaryvirtwrappanelsl3/BinaryVirtualizingWrapPanelSLApplicationDemo.html
You will need Silverlight 3 runtime installed for this to work.
You can type a color of your choice in that demo web page, and see that the panel manages to apply the colors correctly all through, and not only in its initial viewport area.
Also you can download my WPF implementation of this control, and you can see that you can set any color of your choice as the panel's background, and my virtualizing wrappanel will apply it at various points in item of its content scrolling, without any issues.
As for Dan's code is concerned, its not correct for me to review and provide comments on his code. So unfortunately i can't answer that question.
But i guess you might be able to post the same question to him on his blog, and maybe he will reply.
Cheers for visiting my blog anyway ;-)
Sundar
Director and Software Architect,
Binarymission, UK.
Posted by: Sundar Subramaniam | August 24, 2009 at 08:56 PM