Newbe.Mahua 扩展设置中心
本教程将描述,如何使用和扩展Newbe.Mahua
中的设置中心
。
设置中心
设置中心是 SDK 提供的,可以进行挂载菜单和界面的管理中心。使用者可以通过实现特定的接口来实现一个跨平台的统一管理界面。
扩展菜单
引入 nuget 包
https://www.nuget.org/packages/Newbe.Mahua.Administration/ WPF 版设置中心界面。
此 nuget 包是实现 WPF 版本的设置中心的必要组件。
最新的 VS 插件中的项目模板已经包含有此组件,无需特别安装。
定义菜单
在项目中实现Newbe.Mahua.IMahuaMenuProvider
接口中定义的方法,返回菜单项。
不要忘记在 MahuaModule 中注册这个实现类
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
中选取菜单处理事件
实现相关的业务逻辑。
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
包。