PRISM - 创建鼠标悬停行为会导致 Silverlight 库在主 Silverlight 应用程序中不可见,以便能够在 xaml 中创建命名空间引用

发布于 2024-08-31 12:43:58 字数 872 浏览 4 评论 0原文

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

我从 LibraryA 中删除了所有内容,只在其中放入了一个类:

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

使用 LibraryA 中的这个简单类,它不会显示在 SimpleApp 的 XAML 智能感知中。 XAML 智能感知可与我编写的不使用 PRISM 的其他库配合使用。

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

Created a simple Silverlight 4 application (SimpleApp) then added a Silverlight 4 library (LibraryA). Added code to the library (LibraryA) to implement MouseOverBehavior by inheriting from CommandBaseBehavior along with the appropriate attached property class/methods. Added reference in SimpleApp to LibraryA and went to MainPage.xaml to add namespace reference but it does not show up with Intellisense. Typing the namespace manually and then adding the attached MouseOver command works as it should as far as intellisense showing my attached property name, i.e. ... commands:MouseOver.Command="{Binding MousedOver}". However when I try to run it I get a XAML parser error saying that the "Command" attached property does not exist in MouseOver. If I move my class definitions from LibraryA to SimpleApp then everything works.

I removed everything from LibraryA and just put one class with this in it:

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

With this simple class in LibraryA it will not show up in XAML intellisense in SimpleApp. XAML intellisense works with other libraries that I have written that don't use PRISM.

Don't know what I am missing hopefully it's something simple. I am using the latest SL4 build for PRISM change set 42969. Visual Studio 2010 RTM Professional in Windows 7 Ultimate 64-bit.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世界等同你 2024-09-07 12:43:58

我发现问题其实很简单。我缺少对 PRISM 库之一的引用。我想在看了几个小时之后我只是看不出缺少什么。休息了一天,终于成功了,DUH!

I found out that the problem was something simple. I was missing a reference to one of the PRISM libraries. I guess after looking at it for hours I just couldn't see what was missing. A day off and it finally clicked, DUH!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文