The team blog of the Expression Blend and Design
While the PathListBox control provides an easy way to lay out items along a path, creating a carousel control that appears 3 dimensional and has smooth scrolling requires additional functionality that we did not have time to do in Expression Blend 4. I’ve created the PathListBoxUtils sample available on CodePlex to provide the tools that make creating a carousel like the one shown below very easy:
Visit the Carousel tutorial to see how to create this example, and you can view all PathListBoxUtils-related tutorials here on .toolbox.
Thank you for posting this great tutorial.
Can you provide a project for download as I am getting an error when I try and recreate the sample from the tutorial:
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; InfoPath.2; .NET4.0C; .NET4.0E; .NET CLR 3.0.30729; .NET CLR 3.5.30729)
Timestamp: Tue, 10 Aug 2010 18:23:52 UTC
Message: Unhandled Error in Silverlight Application Method not found: 'Boolean Microsoft.Expression.Controls.PathListBoxItem.get_IsArranged()'. at Expression.Samples.PathListBoxUtils.PathListBoxScrollBehavior.AnimateStart(PathListBox pathListBox, Int32 increment, Int32 layoutPathIndex, Int32 startItemIndex, Duration newDuration, Boolean isStoryboardInterruped)
at Expression.Samples.PathListBoxUtils.PathListBoxScrollBehavior.Scroll(Int32 increment)
at Microsoft.Expression.Interactivity.Core.ActionCommand.Execute(Object parameter)
at System.Windows.Interactivity.InvokeCommandAction.Invoke(Object parameter)
at System.Windows.Interactivity.TriggerBase.InvokeActions(Object parameter)
at System.Windows.Interactivity.EventTriggerBase.OnEvent(EventArgs eventArgs)
at System.Windows.Interactivity.EventTriggerBase.OnEventImpl(Object sender, EventArgs eventArgs)
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
Make sure you are using the RTM version of Blend 4. You will get an error for IsArranged if you are using the Beta or an earlier version.
I was still using the Blend 4 RC.
I've been trying to get this working for some time now. I've noticed others are getting the same problem with PathListBoxUtils (expressionblend.codeplex.com/.../8948). Invalid XmlnsDeclaration occurs in assembly 'Expression.Samples.PathListBoxUtils, Version=188.8.131.52, Culture=neutral, PublicKeyToken=76319f7ba805fb35'. XmlnsDeclaration references a namespace 'PathListBoxUtils' that is not in the assembly.
When you try to add the PathListBoxScrollBehavior you get errors in Visual Studio and can't view the designer. The work arounds I've found don't work and I was hoping the person who created the sample could help us figure out why this is happening to a lot of us.
Thanks for posting this to the blog. I hadn't turned on my comment notification on CodePlex so I wasn't seeing the comments. I believe have fixed the issue and posted a new release. Let me know if that doesn't work for you.
Thanks so much for your quick response Joanna. I tried the new release and it seems to be working fine for me now. I'm sure this will make a lot of people happy. It's such a cool control and it was a shame it wasn't working before. Everythings good now!
This tutorial is still great thanks, mainly because it did work and it was explained very carefully with just a couple of grey areas for the inexperienced with pathlistbox.
I created a carousel of six jpeg images rotating around a closed elipse. I did not shrink the rear images and found that sometimes the "Z" order became confused with the rear images appearing on top of the front images. Is there anyway around this other than shrinking the rear images.
Other than this small problem the tutorials are great.