使用Silverlight Toolkit控件时,我遇到了一个奇怪的问题,在Expression Blend中打开了我的UserControl。我的用户使用该工具包的ListBoxDragDropTarget如下:在Expression Blend中使用Silverlight工具包控件的XamlParseException
<controlsToolkit:ListBoxDragDropTarget mswindows:DragDrop.AllowDrop="True" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListBox ItemsSource="{Binding MyItemControls}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<controlsToolkit:WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</controlsToolkit:ListBoxDragDropTarget>
一切正常运行时,并在Visual Studio 2008中看起来很好但是,当我尝试打开我在Blend用户控件我得到XamlParseException:[行:0位置:0],我在设计视图中看不到任何东西。更具体地说混合抱怨:TargetType的不匹配:
元素“ListBoxDragDropTarget”不能因为System.Windows.Controls.ListBoxDragDropTarget的问题显示出来。
我的Silverlight应用程序从2009年11月发布的工具包引用System.Windows.Controls.Toolkit,我已经取得了一定要包括该ListBoxDragDropTarget这些命名空间声明:
xmlns:controlsToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"
xmlns:mswindows="clr-namespace:Microsoft.Windows;assembly=System.Windows.Controls.Toolkit"
如果我注释掉ListBoxDragDropTarget控件包装,然后离开ListBox,我可以在设计视图中看到一切正常,没有错误。此外,我意识到这是与各种Silverlight工具包控制的情况发生,因为如果我注释掉ListBoxDragDropTarget与
<controlsToolkit:BusyIndicator />
在Blend发生相同的确切的错误更换。更奇怪的是,如果我在混合中启动一个全新的Silverlight应用程序,我可以添加这些工具箱元素而不会出现任何错误,所以看起来像我的项目引用工具包程序集时发生了一些愚蠢的事情。
我敢肯定,这与从generic.xaml中加载工具包控件的默认样式有关,因为错误与TargetType有关,Blend可能会尝试加载默认样式。
有没有人遇到过这个问题之前或有任何想法可能是我的问题?
混合的版本? – AnthonyWJones 2010-01-20 22:19:08
Expression Blend 3,特别是3.0.1927.0 – 2010-01-21 00:36:00