Newbe.Mahua 扩展设置中心

本教程将描述,如何使用和扩展Newbe.Mahua中的设置中心

设置中心

设置中心是SDK提供的,可以进行挂载菜单和界面的管理中心。使用者可以通过实现特定的接口来实现一个跨平台的统一管理界面。

设置中心

扩展菜单

引入nuget包

https://www.nuget.org/packages/Newbe.Mahua.Administration/ WPF版设置中心界面。

此nuget包是实现WPF版本的设置中心的必要组件。

最新的VS插件中的项目模板已经包含有此组件,无需特别安装。

定义菜单

在项目中实现Newbe.Mahua.IMahuaMenuProvider接口中定义的方法,返回菜单项。

不要忘记在MahuaModule中注册这个实现类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System.Collections.Generic;

namespace Newbe.Mahua.Plugins.Template
{
public class MyMenuProvider : IMahuaMenuProvider
{
public IEnumerable<MahuaMenu> GetMenus()
{
return new[]
{
new MahuaMenu
{
Id = "menu1",
Text = "测试菜单1"
},
new MahuaMenu
{
Id = "menu2",
Text = "测试菜单2"
},
};
}
}
}

菜单处理事件

右键点击MahuaEvents文件夹,选择 添加->新建项 。 从Newbe.Mahua中选取菜单处理事件

新建菜单处理事件

实现相关的业务逻辑。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using Newbe.Mahua.MahuaEvents;
using System.Diagnostics;

namespace Newbe.Mahua.Plugins.Parrot.MahuaEvents
{
/// <summary>
/// 菜单点击事件
/// </summary>
public class MahuaMenuClickedMahuaEvent
: IMahuaMenuClickedMahuaEvent
{
private readonly IMahuaApi _mahuaApi;

public MahuaMenuClickedMahuaEvent(
IMahuaApi mahuaApi)
{
_mahuaApi = mahuaApi;
}

public void ProcessManhuaMenuClicked(MahuaMenuClickedContext context)
{
// context.Menu 被选中到底菜单
ShowNewbe();
}

private static void ShowNewbe()
{
Process.Start("http://www.newbe.pro");
}
}
}

启动设置中心

不同的平台点击不同的按钮来启动设置中心。

CQP

新建菜单处理事件

Amanda

新建菜单处理事件

MPQ

新建菜单处理事件

完成

至此,就完成了对设置中心菜单的扩展。

自定义设置中心UI

WPF版设置中心是本SDK提供的基本界面。若在项目中不满足需求,可以通过本节内容实现彻底的自定义。

只要实现Newbe.Mahua.IMahuaAdministration,那么在点击平台中的设置设置中心按钮,便会调用此接口。

若需要采用自定义设置中心UI,需要移除Newbe.Mahua.Administration包。

教程链接

发布说明