XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.XApp

【DLL】XApp开发支持

公开
关注 0 Fork 0 Star 0
UTF-8
using XFEExtension.NetCore.ImplExtension;

namespace XFEExtension.NetCore.XApp;

/// <summary>
/// XApp应用构建器
/// </summary>
[CreateImpl]
public abstract class XAppBuilder
{
    internal static Page? CurrentXAppMainPage { get; private set; }
    /// <summary>
    /// 主页(Page布局)
    /// </summary>
    public Page? MainPage { get; set; }
    /// <summary>
    /// 主页(Shell布局)
    /// </summary>
    public Shell? MainShell { get; set; }
    /// <summary>
    /// 创建构建器
    /// </summary>
    /// <returns></returns>
    public static XAppBuilder CreateBuilder() => new XAppBuilderImpl();
    /// <summary>
    /// 使用Shell布局
    /// </summary>
    /// <param name="mainShell"></param>
    /// <returns></returns>
    public XAppBuilder WithShellDev(Shell mainShell)
    {
        MainShell = mainShell;
        return this;
    }
    /// <summary>
    /// 使用Page布局
    /// </summary>
    /// <param name="mainPage"></param>
    /// <returns></returns>
    public XAppBuilder WithPageDev(Page mainPage)
    {
        MainPage = mainPage;
        return this;
    }
    /// <summary>
    /// 构建并运行
    /// </summary>
    public void BuildAndRun() => CurrentXAppMainPage = MainPage ?? MainShell;
}