如何解决DataGridDragDropTarget是否从最新版本的Silverlight工具包中删除?
| 我正在使用Silverlight 4和Silverlight Toolkit 4月10日发行版(此文件夹中引用了dll:%Program Files%\\ Microsoft SDKs \\ Silverlight \\ v4.0 \\ Toolkit \\ Apr10 \\ Bin)。但是,注册名称空间后,向XAML添加“ 0”会导致此错误:
`The tag \'DataGridDragDropTarget\' does not exist in XML namespace \'clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit\'.`
但是,还可以使用其他DragDropTarget:ListBoxDragDropTarget,PanelDragDropTarget,TreeViewDragDropTarget。
解决方法
我怀疑这是准备发行包时工具箱团队的某种疏忽错误:如果您下载工具箱源代码(从此处:http://silverlight.codeplex.com/releases/view/43528)并检查存档\的Bin文件夹System.Windows.Controls.Data.Toolkit.dll dll在那里-这是现在包含DataGridDragAndDrop本身的文件夹。只需将其复制到您的收费套件分发dll的其余部分中,然后从您的项目中引用:
<dataToolkit:DataGridDragDropTarget
x:Name=\"DragAndDrop\"
xmlns:dataToolkit=\"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Toolkit\"
AllowDrop=\"True\" >
, 我不知道为什么它会从工具包中消失,因为有许多在线示例仍然使用DataGridDragDropTarget
。我通过将网格包装在工具箱的ѭ4内来解决了这个问题。奇迹般有效。
<toolkit:PanelDragDropTarget x:Name=\"DragAndDrop\" AllowDrop=\"True\" AllowedSourceEffects=\"Move\" >
<Grid x:Name=\"LayoutRoot\" Width=\"400\" Height=\"400\" />
</toolkit:PanelDragDropTarget>
, 它实际上仍在工具箱的二进制文件中(至少是通过nuget分发的二进制文件),但是与其他拖放辅助程序的组装位置不同。
您只需要添加以下名称空间定义:
xmlns:dragdrop=\"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Toolkit\"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。