#silverlight #xaml #silverlight-4.0 #silverlight-toolkit
#silverlight #xaml #silverlight-4.0 #silverlight-toolkit
Вопрос:
Я использую Silverlight 4 и Silverlight Toolkit, выпущенные 10 апреля (ссылка на dll находится в этой папке: %Program Files% Microsoft SDKs Silverlight v4.0 Toolkit Apr10 Bin). Однако после регистрации пространств имен добавление toolkit:DataGridDragDropTarget
в XAML приводит к этой ошибке:
`The tag 'DataGridDragDropTarget' does not exist in XML namespace 'clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit'.`
Тем не менее, доступны другие DragDropTarget: ListBoxDragDropTarget, paneldrag DropTarget, treeviewdrag DropTarget.
Ответ №1:
Я подозреваю, что это была какая-то ошибка, допущенная командой toolkit при подготовке дистрибутивного пакета: если вы загружаете исходный код toolkit (отсюда:http://silverlight.codeplex.com/releases/view/43528 ) и проверьте папку Bin архива, System.Windows.Элементы управления.Данные.Инструментарий.там есть dll dll — та, которая теперь содержит сам DataGridDragAndDrop. Просто скопируйте его в остальные библиотеки DLL вашего дистрибутива tollkit и ссылку из вашего проекта:
<dataToolkit:DataGridDragDropTarget
x:Name="DragAndDrop"
xmlns:dataToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Toolkit"
AllowDrop="True" >
Ответ №2:
Я не знаю, почему он исчез из toolkit, поскольку есть много онлайн-примеров, которые все еще используются DataGridDragDropTarget
. Я решил эту проблему, обернув сетку внутри PanelDragDropTarget
из toolkit. Работает как шарм.
<toolkit:PanelDragDropTarget x:Name="DragAndDrop" AllowDrop="True" AllowedSourceEffects="Move" >
<Grid x:Name="LayoutRoot" Width="400" Height="400" />
</toolkit:PanelDragDropTarget>
Ответ №3:
На самом деле он все еще находится в двоичных файлах toolkit (по крайней мере, тех, которые распространяются через nuget), однако он находится в сборке, отличной от других помощников dragdrop.
Вам просто нужно будет добавить следующее определение пространства имен:
xmlns:dragdrop="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Toolkit"