2

我一直在关注股票交易者应用程序的 Prism 参考实现。我正在按照相同的方式构建应用程序。但我对如何以 Prism 方式向我的应用程序添加菜单有点困惑。参考实现似乎对此并不明确。任何建议都会非常可观。

4

2 回答 2

2

模块化应用程序可以帮助做很多事情,但它们也会使一些以前微不足道的任务看起来非常困难。我同意你的观点,棱镜书至少应该给出一些关于如何做菜单的例子,但可能有很多方法可以做到。

当我开始在 Stackoverflow 上使用 Prism 时,我问了同样的问题。一段时间后我回来并回答了我自己的问题。我的解决方案是创建一个 IMenuService,它允许我将菜单项添加到我的菜单中,该菜单是一个单独的模块。请在此处查看我对自己问题的回答:

使用 MVVM 生成菜单的 DataTemplate

于 2013-05-12T08:02:32.837 回答
1

为了制作动态菜单,我使用了区域。我在其中做的第一件事ShellView是添加一个菜单并在其中设置一个区域。

<Menu prism:RegionManager.RegionName="MenuRegion">
</Menu>

当我在我的模块中需要一个菜单​​时,我会创建一个这样的用户控件:

<MenuItem x:Class="MyCompany.PrismApp.HelloWorldMenu">
    <!-- ... -->
</MenuItem>

更改后面的代码以让类反映类型MenuItem

public partial class HelloWorldMenu : MenuItem
{
    // ...
}

的实施IModule

public class SomeModule : IModule
{
    public void Initialize()
    {
        // ...
        this.RegionManager.RegisterViewWithRegion("MenuRegion", typeof(HelloWorldMenu));
    }
}

一切都是香草棱镜。

于 2016-02-12T08:56:38.177 回答