I am trying to use WpfToolkit DataGrid on a Windows Phone 7 project (Silverligt 4) and it does not work. Here is the XAML:
<UserControl x:Class="SilverlightControls.Grid" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" xmlns:wtk="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit" d:DesignHeight="480" d:DesignWidth="480"> <Grid x:Name="LayoutRoot" Background="#FF1F1F1F" Width="960"> <Grid x:Name="TitleGrid"> <TextBlock Text="{Binding Title}" Style="{StaticResource PhoneTextPageTitle2Style}"/> </Grid> <wtk:DataGrid> </wtk:DataGrid> </Grid> </UserControl>
The project compiles fine, but a run-time failure tries to load this control. The best key I've received so far is Visual Studio Designer. As soon as I add wtk:DataGrid to the control, the visual constructor does not load, and below is the exception that it displays.
Maybe WpfToolkit relies on PresentationFramework.dll and is not available in SL4?
System.Reflection.Adds.UnresolvedAssemblyException
Type universe cannot resolve assembly: PresentationFramework, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35.
at System.Reflection.Adds.AssemblyProxy.GetResolvedAssembly ()
at System.Reflection.Adds.AssemblyProxy.get_FullName ()
at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.PrepareAttributes (Reflectable`1 reflectableAssembly)
at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.PrepareAttributes (Reflectable`1 reflectableType)
at MS.Internal.Metadata.ClrType.GetAttributes [T] (ReflectionMetadataContext context, IReflectable`1 member, ITypeMetadata attributeType, Boolean merge, AttributeMergeCache & cache)
at MS.Internal.Metadata.ClrMember`1.GetLocalAttributes (ITypeMetadata attributeType)
at MS.Internal.Design.Metadata.Xaml.XamlType.GetSpecialProperty (Int32 idx, PropertyIdentifier pid)
at MS.Internal.Design.Metadata.Xaml.XamlType.get_ContentProperty ()
at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensionImplementations.GetContentProperty (ITypeMetadata sourceType)
at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensions.GetContentProperty (ITypeMetadata source)
at MS.Internal.Design.Metadata.ReflectionTypeNode.get_ContentProperty ()
at MS.Internal.Design.Markup.XmlElement.CalcChildWhitespaceImportant (XamlElement element)
at MS.Internal.Design.Markup.XmlElement.ConvertChildrenToXaml (XamlElement result, PrefixScope scope, IParseContext context, IMarkupSourceProvider provider, Boolean childrenAsString)
at MS.Internal.Design.Markup.XmlElement.ConvertToXaml (XamlElement parent, PrefixScope parentScope, IParseContext context, IMarkupSourceProvider provider)
at MS.Internal.Design.Markup.XmlElement.ConvertChildrenToXaml (XamlElement result, PrefixScope scope, IParseContext context, IMarkupSourceProvider provider, Boolean childrenAsString)
at MS.Internal.Design.Markup.XmlElement.ConvertToXaml (XamlElement parent, PrefixScope parentScope, IParseContext context, IMarkupSourceProvider provider)
at MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlSourceDocument.ParseElementFromSkeleton (XamlParseContext context, SkeletonNode node, XamlElement parent, Boolean fullElement)
at MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlSourceDocument.UpdateSkeleton (IDamageListener listener)
at Microsoft.Windows.Design.DocumentModel.Trees.MarkupDocumentTreeManager.Update ()
at Microsoft.Windows.Design.DocumentModel.MarkupProducer.Update ()
at Microsoft.Windows.Design.DocumentModel.MarkupProducer.HandleMessage (DocumentTreeCoordinator sender, MessageKey key, MessageArguments args)
at Microsoft.Windows.Design.DocumentModel.MarkupProducer.Microsoft.Windows.Design.DocumentModel.IDocumentTreeConsumer.HandleMessage (DocumentTreeCoordinator sender, MessageKey key, MessageArguments args)
at Microsoft.Windows.Design.DocumentModel.DocumentTreeCoordinator.SendMessage [T] (MessageKey`1 key, T args, Boolean isPrivateMessage)
at Microsoft.Windows.Design.DocumentModel.DocumentTreeCoordinator.QueuedMessage`1.Microsoft.Windows.Design.DocumentModel.IQueuedMessage.Invoke ()
at Microsoft.Windows.Design.DocumentModel.DocumentTreeCoordinator.ProcessQueuedMessages (Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall (Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)