如何在WPF应用程序中以prism方式向应用程序添加菜单?
我一直在关注股票交易员应用程序的Prism参考实现。我正在以同样的方式构建应用程序。但我有点困惑,我将如何添加菜单到我的应用程序在棱镜的方式。参考实现在这方面似乎并不明确。任何建议都是值得赞赏的。模块化应用程序可以在许多方面提供帮助,但它们也会使一些以前微不足道的任务变得非常困难。我同意你的观点,Prism的书至少应该给出一些关于如何制作菜单的例子,但是可能有很多方法 当我在Stackoverflow上开始使用Prism时,我问了同样的问题。一段时间后我回来回答了我自己的问题。我的解决方案是创建一个IMenuService,允许我将菜单项添加到菜单中,菜单是一个单独的模块。请看我对自己问题的回答:如何在WPF应用程序中以prism方式向应用程序添加菜单?,wpf,mvvm,prism,Wpf,Mvvm,Prism,我一直在关注股票交易员应用程序的Prism参考实现。我正在以同样的方式构建应用程序。但我有点困惑,我将如何添加菜单到我的应用程序在棱镜的方式。参考实现在这方面似乎并不明确。任何建议都是值得赞赏的。模块化应用程序可以在许多方面提供帮助,但它们也会使一些以前微不足道的任务变得非常困难。我同意你的观点,Prism的书至少应该给出一些关于如何制作菜单的例子,但是可能有很多方法 当我在Stackoverflow上开始使用Prism时,我问了同样的问题。一段时间后我回来回答了我自己的问题。我的解决方案是创建
要创建动态菜单,我使用区域。我在
shell视图中做的第一件事是添加一个菜单并在其中设置一个区域
<Menu prism:RegionManager.RegionName="MenuRegion">
</Menu>
IModule的实现
public class SomeModule : IModule
{
public void Initialize()
{
// ...
this.RegionManager.RegisterViewWithRegion("MenuRegion", typeof(HelloWorldMenu));
}
}
一切都是香草棱镜。你有没有这个资源托管在某个地方让我看一看look@kbird现在就看这个链接问题的答案,我用一个完整的例子更新了它。文件->下载应该会让你得到压缩文件。我希望这有帮助@我只是好奇,你觉得这个例子怎么样?你认为你会做类似的事情吗,或者你有没有发现其他的想法?谢谢艾伦,我能够根据你的解决方案让它工作。谢谢你的指导。非常感谢!
public partial class HelloWorldMenu : MenuItem
{
// ...
}
public class SomeModule : IModule
{
public void Initialize()
{
// ...
this.RegionManager.RegisterViewWithRegion("MenuRegion", typeof(HelloWorldMenu));
}
}