XamlParseException с помощью Инструментария Silverlight управляют в Смешении Выражения

У меня есть странная проблема, открывающая мой UserControl в Смешении Выражения при использовании управления Инструментарием Silverlight. Мой UserControl использует ListBoxDragDropTarget инструментария следующим образом:

<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. Однако, когда я пытаюсь открыть свой UserControl в Blend, я получаю XamlParseException: [Строка: 0 Положений: 0] и я ничего не вижу в режиме конструктора. Более конкретно Blend жалуется:

Элемент "ListBoxDragDropTarget" не мог быть отображен из-за проблемы с Системой. Windows. Средства управления. ListBoxDragDropTarget: несоответствие TargetType.

Мое приложение Silverlight ссылается на Систему. Windows. Средства управления. Инструментарий от выпуска инструментария ноября 2009, и я удостоверился, что включал эти объявления пространства имен для 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 и просто уезжаю, Поле списка I видит все прекрасное в режиме конструктора без ошибок. Кроме того, я понял, что это происходит со множеством средств управления Инструментарием Silverlight потому что, если я комментирую ListBoxDragDropTarget и заменяю его

<controlsToolkit:BusyIndicator />

та же точная ошибка происходит в Смешении. То, что является еще более странным, - то, что, если я запускаю совершенно новое приложение Silverlight в смешении, я могу добавить эти элементы инструментария без любого вида ошибки, таким образом, это походит на что-то немое, которое происходит с моими ссылками проекта к блокам инструментария.

Я вполне уверен, это имеет некоторое отношение к загрузке стилей по умолчанию для средств управления инструментарием от его generic.xaml, так как ошибка имеет отношение к TargetType, и Смешение, вероятно, пытается загрузить стили по умолчанию.

Кто-либо встретился с этой проблемой прежде или имеет какие-либо идеи относительно того, какова может быть моя проблема?

8
задан Dan Auclair 20 January 2010 в 19:51
поделиться

2 ответа

Привет, у нас была точно такая же проблема, мы решили ее, проверив ссылки в проекте, в котором была эта проблема. Все сборки набора инструментов, на которые есть ссылки, должны находиться в одном каталоге на диске.

Ссылка в нашем проекте на System.Windows.Controls.Toolkit.dll всегда «перескакивала» обратно на исходный путь, который был причиной нашей проблемы. Мы решили, отредактировав файл проекта в блокноте ++ (или любом другом вашем любимом текстовом редакторе) и жестко закодировав путь, по которому он мог бы найти сборку.

Надеюсь, это поможет.

11
ответ дан 5 December 2019 в 10:03
поделиться

Для Visual Studio (возможно и Blend тоже) вам нужно добавить ссылку на :

System. Windows.Controls.Toolkit.Internals.dll

"C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Toolkit\Apr10\Bin\System.Windows.Controls.Toolkit.Internals.dll"

5
ответ дан 5 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: