Skip to content

kitUIN/ShadowPluginLoader.WinUI

Repository files navigation

🌍English / 中文

ShadowPluginLoader.WinUI

✨ 在WinUI3中加载插件(拓展) ✨

license nuget release

📖文档 · 🐛提交建议

✨简介

Windows App SDK上使用插件加载器加载插件

插件内以下内容可以被加载:

  • C#代码
  • 自定义WinUI控件(Page/UserControl)
  • 自定义资源字典(ResourceDictionary)
  • 图片资源(Assets)
  • i18n(Resw)

🚀快速开始

仅需几个步骤即可构建属于你的插件加载器

🧐必要规范

由于特殊的加载模式,我们需要遵循一些代码准则

加载流程

graph TD;
    B[Type]-->A;
    O[IEnumerable<Type>]-->A;
    C[DirectoryInfo]-->A;
    P[ZipFile]-->A;
    A[FileInfo]-->D@{ shape: procs, label: "Load And Sort PluginMetaData"};
    D-->E[Check if PluginMetaData is valid];
    E-->F@{ shape: rounded, label: "Before Load Plugin Event" };
    F-->G[Load Main Plugin];
    G-->H@{ shape: rounded, label: "After Load Plugin Event" };
    H-->I@{ shape: stadium, label: "Finish" };
Loading

工具链流程

block-beta
  columns 4
  a[["Name"]] b[["Before Start"]] c[["Before Compile"]] d[["After Compile"]]
  e["SDK"] f["/"]:2 g["Export PluginMeta Define"]
  h["Plugin"] i["Load Define File"] j["Generate PluginMetadata"] k["Package To Zip"]
Loading

🥰特别鸣谢

About

✨Loading Plugin(Extension) in WinUI3 | 在WinUI3中加载插件(拓展)✨

Topics

Resources

License

Stars

Watchers

Forks

Languages