如何为单个控件创建视图?

时间:2011-02-09 19:46:47

标签: prism

为我需要加载到Prism应用程序中的Shell区域的单个控件创建视图的最佳方法是什么。我知道我可以将控件包装在UserControl中,但我怀疑可能有更好的方法。

我正在开发一个演示应用程序来学习Prism 4.每个模块都会将一个导航按钮加载到Shell中某个区域的ItemsControl中。这些导航按钮的功能类似于Outlook中的邮件,日历和其他按钮。

我在每个模块中创建视图,该视图将保存模块的导航按钮。创建视图的最简单方法似乎是将其包装在UserControl中。我的问题是:有更好的方法吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

我最终将控件包装在UserControl中,似乎工作正常。我仍然有兴趣看看是否有更好的方法来加载按钮,所以我会暂时打开这个问题几天。

编辑02/22/2011:我尝试使用没有UserControl包装器的控件,我收到以下错误:

Library project file cannot specify ApplicationDefinition element.

我将控件包装在UserControl中,错误消失了。

答案 1 :(得分:0)

如果您需要图形控制,那么您正在做的就是要走的路。如果您发现自己使所有按钮看起来都一样(复制 - 粘贴),您可能会发现菜单注册服务是可行的。

您有一个像IMenuService这样的服务,您可以在容器中注册,模块可以出现并注册菜单项。然后,您可以为模块创建按钮。我在这里提供了一个示例: http://dl.getdropbox.com/u/376992/CAGMenus.zip

但是,您的问题似乎是关于您是否需要将控件包装在UserControl中以将其注册到某个区域?如果这是问题,我相信答案是,尽管你可能会修改你的问题,告诉我们你遇到的是什么让你觉得这个。