PRISM - 创建mouseoverbehavior导致Silverlight库在主Silverlight应用程序中不可见,以便能够在xaml中创建名称空间引用

时间:2010-05-07 18:18:40

标签: silverlight silverlight-4.0 prism

创建了一个简单的Silverlight 4应用程序(SimpleApp),然后添加了Silverlight 4库(LibraryA)。通过继承CommandBaseBehavior以及相应的附加属性类/方法,向库(LibraryA)添加了代码以实现MouseOverBehavior。在SimpleApp中添加了对LibraryA的引用,并转到MainPage.xaml添加命名空间引用,但它没有显示Intellisense。手动键入命名空间然后添加附加的MouseOver命令就像应该显示我附加的属性名称的intellisense一样工作,即...命令:MouseOver.Command =“{Binding MousedOver}”。但是当我尝试运行它时,我得到一个XAML解析器错误,说明MouseOver中不存在“Command”附加属性。如果我将我的类定义从LibraryA移到SimpleApp,那么一切正常。

我从LibraryA中移除了所有内容,只需将一个类放入其中:

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

使用LibraryA中的这个简单类,它不会出现在SimpleApp中的XAML intellisense中。 XAML intellisense与我编写的其他不使用PRISM的库一起使用。

不知道我错过了什么,希望这很简单。我正在使用最新的SL4版本用于PRISM更改集42969. Visual Studio 2010 RTM Professional在Windows 7 Ultimate 64位中。

1 个答案:

答案 0 :(得分:0)

我发现问题很简单。我错过了对其中一个PRISM库的引用。我想看了好几个小时之后,我就看不出有什么遗漏了。休息一天,它终于点击了,DUH!