ПРИЗМА - Создание mouseoverbehavior делает библиотеку Silverlight невидимой в основном приложении Silverlight, чтобы иметь возможность создавать ссылку на пространство имен в xaml - PullRequest
0 голосов
/ 07 мая 2010

Создано простое приложение Silverlight 4 (SimpleApp), затем добавлена ​​библиотека Silverlight 4 (LibraryA).Добавлен код в библиотеку (LibraryA) для реализации MouseOverBehavior путем наследования от CommandBaseBehavior вместе с соответствующим классом / методами присоединенного свойства.Добавил ссылку в SimpleApp в LibraryA и пошел в MainPage.xaml, чтобы добавить ссылку на пространство имен, но она не отображается с Intellisense.Ввод пространства имен вручную, а затем добавление присоединенной команды MouseOver работает должным образом, поскольку intellisense показывает мое имя присоединенного свойства, т.е. ... команды: MouseOver.Command = "{Binding MousedOver}".Однако, когда я пытаюсь запустить его, я получаю сообщение об ошибке синтаксического анализатора XAML, говорящее о том, что присоединенное свойство «Command» не существует в MouseOver.Если я перенесу определения классов из LibraryA в SimpleApp, то все будет работать.

Я удалил все из LibraryA и просто поместил в него один класс:

public class MouseOverBehavior : CommandBehaviorBase<Control>
{
    public MouseOverBehavior(Control element)
        : base(element)
    {}
}

С этим простым классом в LibraryAон не будет отображаться в IntelliSense XAML в SimpleApp.XAML intellisense работает с другими написанными мной библиотеками, которые не используют PRISM.

Не знаю, чего мне не хватает, надеюсь, это что-то простое.Я использую последнюю сборку SL4 для набора изменений PRISM 42969. Visual Studio 2010 RTM Professional в 64-разрядной версии Windows 7 Ultimate.

1 Ответ

0 голосов
/ 10 мая 2010

Я обнаружил, что проблема была в чем-то простом. Мне не хватало ссылки на одну из библиотек PRISM. Я думаю, что, глядя на это часами, я просто не мог понять, чего не хватает Выходной и наконец то щелкнуло, ДУХ!

...