Category: Pivot Viewer

First time Error While working with Silverlight Pivot Viewer

Runtime Error in Silverlight Pivot Viewer

If you are working with Silverlight Pivot Viewer control for the first time and have created a basic Page using Pivot Viewer as explained here but still you are getting the Runtime error as shown below.

System.Windows.Markup.XamlParseException occurred
Message=Set property ‘System.Windows.FrameworkElement.Style’ threw an exception. [Line: 14 Position: 34]
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at SilverlightPivotViewer.MainPage.InitializeComponent()
at SilverlightPivotViewer.MainPage..ctor()
InnerException: System.Windows.Markup.XamlParseException
Message=Element is already the child of another element. [Line: 0 Position: 0]
at MS.Internal.XcpImports.CreateFromXaml(UnmanagedMemoryStream stream, String sourceAssemblyName, Boolean createNamescope, Boolean requireDefaultNamespace, Boolean allowEventHandlers)
at System.Windows.Controls.Control.GetBuiltInStyle(IntPtr nativeTarget, IntPtr& nativeStyle)

Then the quick resolution for this is to install Latest Silverlight tool kit (which is Apr 2010 release)

For resolving this error Download Silverlight Toolkit from here.

Step By Step Guide to Pivot Viewer Control in Silverlight.

This is going to be a basic post about “How to Use Pivot Viewer Silverlight Control”.

To begin working with the Pivot Viewer Silverlight control First Download and Install the Pivot Viewer Control from Pivot Viewer Home.

Once You install it it will create some dlls in C:Program Files (x86)Microsoft SDKsSilverlightv4.0PivotViewerAug10.

After we are done with the installation we need to create .CXML which we can use as a source to this control so that it can render our desired images.

For that we’ll be using Command line tool available which can be downloaded from Collection Tools link on the Page we downloaded the Pivot Viewer Control from.

Once the command line tool is downloaded unzip it and there will be Two Folders(bin, docs), EULA.docx, User’s Guide.docx inside it.

First Open docs folder so that we can use the XSLX and images provided. Here XSLX defines the Metadata of the images on basis of which we can search and filter it.

In other folder we have Pauthor.exe which can be used to create CXML from XSLX.

For creating CXML open pauthor in command prompt.


Navigate to folder where you have pauthor.exe

“CD C:UsersDownloadsPauthor-RC3Pauthorbin”

and then Execute the following command.

“pauthor /source excel CD C:UsersDownloadsPauthor-RC3Pauthordocssample.xlsx /target deepzoom C:Output”

After executing given command you will get a CXML file and folder structure , “Sample_Deepzoom”, it is referring to in the Output folder on C:

Once CXML and folder structure are created we can go ahead and create Silverlight Application to use Pivot Viewer we installed and CXML we created.

Create a Silverlight Applcation.

Add the Folder Structure “Sample_DeepZoom” and Sample.CXML in the SilverlightApp.Web Project created. (It is recommended to add the structure in client bin but here I’ve Created a new folder Pivot Data in my project and Added the folder and cxml to it.) to avoid cross domain issues add clientaccess policy.xml to the SilverlightApp.Web

ClientAccessPolicy.XML will contain given code.

Now add reference to “System.Windows.Pivot.dll” available in
“C:Program Files (x86)Microsoft SDKsSilverlightv4.0PivotViewerAug10bin” in SilverlightApp.

After adding reference add namespace
” xmlns:pivotcontrol=”clr-namespace:System.Windows.Pivot;assembly=System.Windows.Pivot””
to Mainpage.XAML

now add
to the grid in usercontrol.

and add

string pageUrl = HtmlPage.Document.DocumentUri.AbsoluteUri;
string rootUrl = pageUrl.Substring(0, pageUrl.LastIndexOf(‘/’) + 1);
PV.LoadCollection(rootUrl + @”Pivot data/Sample.cxml”, String.Empty);

to the Mainpage.xaml.cs after InitializeComponent() in MainPage().

You are good to go. Run your Application and you will see the Pivotviewer Up and Running.