lixiaojun
2024-07-22 686dd39ef856012c0c7f2620ffef1e3a5c1ec779
优化项目导入,抽象步骤接口
已删除9个文件
已重命名11个文件
已复制3个文件
已修改6个文件
已添加10个文件
2123 ■■■■■ 文件已修改
Desktop/HStation.Desktop.Xhs.Core/MainForm.Designer.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.Designer.cs 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.resx 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/02-ProjectInfo/InputXhsProjectInfoWizardPage.Designer.cs 210 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/02-ProjectInfo/InputXhsProjectInfoWizardPage.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/02-ProjectInfo/InputXhsProjectInfoWizardPage.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.Designer.cs 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.Designer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/GenerateXhsProjectCtrl.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectCompletedCtrl.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectDlg.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/InputXhsProjectBasicInfoCtrl.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SelectXhsProjectModelFileCtrl.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SelectXhsProjectModelFileCtrl.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SetXhsProjectMapLocationCtrl.Designer.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SetXhsProjectMapLocationCtrl.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SetXhsProjectMapLocationCtrl.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Core/08-wizard/IWizardManager.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Core/08-wizard/IWizardPage.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Map.Core/map/gaode/html/SetSimpleMarker.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/MainForm.Designer.cs
@@ -44,14 +44,14 @@
            barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
            barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
            barDockControlRight = new DevExpress.XtraBars.BarDockControl();
            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
            barDockingMenuItem1 = new DevExpress.XtraBars.BarDockingMenuItem();
            tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(components);
            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
            ((System.ComponentModel.ISupportInitialize)tileNavPane).BeginInit();
            ((System.ComponentModel.ISupportInitialize)documentManager1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)barManager1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)tabbedView1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)dockManager1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)tabbedView1).BeginInit();
            SuspendLayout();
            // 
            // tileNavPane
@@ -71,7 +71,7 @@
            tileNavPane.Dock = DockStyle.Top;
            tileNavPane.Location = new Point(0, 0);
            tileNavPane.Name = "tileNavPane";
            tileNavPane.Size = new Size(932, 40);
            tileNavPane.Size = new Size(932, 60);
            tileNavPane.TabIndex = 0;
            tileNavPane.Text = "tileNavPane1";
            tileNavPane.ElementClick += tileNavPane_ElementClick;
@@ -188,6 +188,12 @@
            barDockControlRight.Manager = barManager1;
            barDockControlRight.Size = new Size(0, 498);
            // 
            // dockManager1
            //
            dockManager1.Form = this;
            dockManager1.MenuManager = barManager1;
            dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" });
            //
            // barDockingMenuItem1
            // 
            barDockingMenuItem1.Caption = "Window";
@@ -201,12 +207,6 @@
            tabbedView1.DocumentAdded += tabbedView1_DocumentAdded;
            tabbedView1.DocumentActivated += tabbedView1_DocumentActivated;
            tabbedView1.DocumentClosed += tabbedView1_DocumentClosed;
            //
            // dockManager1
            //
            dockManager1.Form = this;
            dockManager1.MenuManager = barManager1;
            dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" });
            // 
            // MainForm
            // 
@@ -229,8 +229,8 @@
            ((System.ComponentModel.ISupportInitialize)tileNavPane).EndInit();
            ((System.ComponentModel.ISupportInitialize)documentManager1).EndInit();
            ((System.ComponentModel.ISupportInitialize)barManager1).EndInit();
            ((System.ComponentModel.ISupportInitialize)tabbedView1).EndInit();
            ((System.ComponentModel.ISupportInitialize)dockManager1).EndInit();
            ((System.ComponentModel.ISupportInitialize)tabbedView1).EndInit();
            ResumeLayout(false);
            PerformLayout();
        }
Desktop/HStation.Desktop.Xhs.Core/Program.cs
@@ -17,7 +17,7 @@
            //if (!LoginHelper.Login())
            //{
            //  return;
            //    return;
            //}
            //扫描全局DTO映射
WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
@@ -111,6 +111,7 @@
        private void btnImportProject_Click(object sender, EventArgs e)
        {
            var dlg = new ImportXhsProjectDlg();
            dlg.SetBindingData();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectDlg.Designer.cs ÐÞ¸Ä
@@ -28,21 +28,23 @@
        /// </summary>
        private void InitializeComponent()
        {
            ComponentResourceManager resources = new ComponentResourceManager(typeof(ImportXhsProjectDlg));
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            btnBack = new DevExpress.XtraEditors.SimpleButton();
            btnComplete = new DevExpress.XtraEditors.SimpleButton();
            btnPrev = new DevExpress.XtraEditors.SimpleButton();
            btnNext = new DevExpress.XtraEditors.SimpleButton();
            btnCancel = new DevExpress.XtraEditors.SimpleButton();
            navigationFrame1 = new DevExpress.XtraBars.Navigation.NavigationFrame();
            navPageSelectModelFile = new DevExpress.XtraBars.Navigation.NavigationPage();
            selectXhsProjectModelFileCtrl1 = new SelectXhsProjectModelFileCtrl();
            selectXhsProjectModelFileWizardPage = new SelectXhsProjectModelFileWizardPage();
            navPageInputProjectInfo = new DevExpress.XtraBars.Navigation.NavigationPage();
            inputXhsProjectBasicInfoCtrl1 = new InputXhsProjectBasicInfoCtrl();
            inputXhsProjectInfoWizardPage = new InputXhsProjectInfoWizardPage();
            navPageSetMapLocation = new DevExpress.XtraBars.Navigation.NavigationPage();
            setXhsProjectMapLocationCtrl1 = new SetXhsProjectMapLocationCtrl();
            setXhsProjectMapLocationWizardPage = new SetXhsProjectMapLocationWizardPage();
            navPageGenerateProject = new DevExpress.XtraBars.Navigation.NavigationPage();
            generateXhsProjectCtrl1 = new GenerateXhsProjectCtrl();
            generateXhsProjectWizardPage = new GenerateXhsProjectWizardPage();
            navPageImportCompleted = new DevExpress.XtraBars.Navigation.NavigationPage();
            importXhsProjectCompletedCtrl1 = new ImportXhsProjectCompletedCtrl();
            importXhsProjectCompletedWizardPage = new ImportXhsProjectCompletedCtrl();
            stepProgressBar1 = new DevExpress.XtraEditors.StepProgressBar();
            stepPbSelectModelFile = new DevExpress.XtraEditors.StepProgressBarItem();
            stepPbInputProjectInfo = new DevExpress.XtraEditors.StepProgressBarItem();
@@ -52,10 +54,11 @@
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            itemForCancel = new DevExpress.XtraLayout.LayoutControlItem();
            itemForNext = new DevExpress.XtraLayout.LayoutControlItem();
            itemForPrev = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            itemForComplete = new DevExpress.XtraLayout.LayoutControlItem();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)navigationFrame1).BeginInit();
@@ -69,15 +72,17 @@
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)itemForCancel).BeginInit();
            ((ISupportInitialize)itemForNext).BeginInit();
            ((ISupportInitialize)itemForPrev).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)itemForComplete).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
            // 
            layoutControl1.Controls.Add(btnBack);
            layoutControl1.Controls.Add(btnComplete);
            layoutControl1.Controls.Add(btnPrev);
            layoutControl1.Controls.Add(btnNext);
            layoutControl1.Controls.Add(btnCancel);
            layoutControl1.Controls.Add(navigationFrame1);
@@ -91,23 +96,35 @@
            layoutControl1.TabIndex = 0;
            layoutControl1.Text = "layoutControl1";
            // 
            // btnBack
            // btnComplete
            // 
            btnBack.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Question;
            btnBack.Appearance.Options.UseBackColor = true;
            btnBack.Location = new Point(745, 661);
            btnBack.Name = "btnBack";
            btnBack.Size = new Size(116, 22);
            btnBack.StyleController = layoutControl1;
            btnBack.TabIndex = 7;
            btnBack.Text = "<上一步";
            btnBack.Click += btnBack_Click;
            btnComplete.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnComplete.Appearance.Options.UseBackColor = true;
            btnComplete.Location = new Point(975, 661);
            btnComplete.Name = "btnComplete";
            btnComplete.Size = new Size(126, 22);
            btnComplete.StyleController = layoutControl1;
            btnComplete.TabIndex = 10;
            btnComplete.Text = "完成";
            btnComplete.Click += btnComplete_Click;
            //
            // btnPrev
            //
            btnPrev.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Question;
            btnPrev.Appearance.Options.UseBackColor = true;
            btnPrev.Location = new Point(615, 661);
            btnPrev.Name = "btnPrev";
            btnPrev.Size = new Size(116, 22);
            btnPrev.StyleController = layoutControl1;
            btnPrev.TabIndex = 7;
            btnPrev.Text = "<上一步";
            btnPrev.Click += btnPrev_Click;
            // 
            // btnNext
            // 
            btnNext.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Success;
            btnNext.Appearance.Options.UseBackColor = true;
            btnNext.Location = new Point(865, 661);
            btnNext.Location = new Point(735, 661);
            btnNext.Name = "btnNext";
            btnNext.Size = new Size(116, 22);
            btnNext.StyleController = layoutControl1;
@@ -119,13 +136,13 @@
            // 
            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnCancel.Appearance.Options.UseBackColor = true;
            btnCancel.DialogResult = DialogResult.Cancel;
            btnCancel.Location = new Point(985, 661);
            btnCancel.Location = new Point(855, 661);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(116, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 9;
            btnCancel.Text = "取消";
            btnCancel.Click += btnCancel_Click;
            // 
            // navigationFrame1
            // 
@@ -145,81 +162,83 @@
            // navPageSelectModelFile
            // 
            navPageSelectModelFile.Caption = "navPageSelectModelFile";
            navPageSelectModelFile.Controls.Add(selectXhsProjectModelFileCtrl1);
            navPageSelectModelFile.Controls.Add(selectXhsProjectModelFileWizardPage);
            navPageSelectModelFile.Name = "navPageSelectModelFile";
            navPageSelectModelFile.Size = new Size(1089, 537);
            // 
            // selectXhsProjectModelFileCtrl1
            // selectXhsProjectModelFileWizardPage
            // 
            selectXhsProjectModelFileCtrl1.Dock = DockStyle.Fill;
            selectXhsProjectModelFileCtrl1.Location = new Point(0, 0);
            selectXhsProjectModelFileCtrl1.Name = "selectXhsProjectModelFileCtrl1";
            selectXhsProjectModelFileCtrl1.Size = new Size(1089, 537);
            selectXhsProjectModelFileCtrl1.TabIndex = 0;
            selectXhsProjectModelFileWizardPage.Dock = DockStyle.Fill;
            selectXhsProjectModelFileWizardPage.Location = new Point(0, 0);
            selectXhsProjectModelFileWizardPage.Name = "selectXhsProjectModelFileWizardPage";
            selectXhsProjectModelFileWizardPage.Size = new Size(1089, 537);
            selectXhsProjectModelFileWizardPage.TabIndex = 0;
            // 
            // navPageInputProjectInfo
            // 
            navPageInputProjectInfo.Caption = "navPageInputProjectInfo";
            navPageInputProjectInfo.Controls.Add(inputXhsProjectBasicInfoCtrl1);
            navPageInputProjectInfo.Controls.Add(inputXhsProjectInfoWizardPage);
            navPageInputProjectInfo.Name = "navPageInputProjectInfo";
            navPageInputProjectInfo.Size = new Size(1089, 537);
            // 
            // inputXhsProjectBasicInfoCtrl1
            // inputXhsProjectInfoWizardPage
            // 
            inputXhsProjectBasicInfoCtrl1.Dock = DockStyle.Fill;
            inputXhsProjectBasicInfoCtrl1.Location = new Point(0, 0);
            inputXhsProjectBasicInfoCtrl1.Name = "inputXhsProjectBasicInfoCtrl1";
            inputXhsProjectBasicInfoCtrl1.Size = new Size(1089, 537);
            inputXhsProjectBasicInfoCtrl1.TabIndex = 0;
            inputXhsProjectInfoWizardPage.Dock = DockStyle.Fill;
            inputXhsProjectInfoWizardPage.Location = new Point(0, 0);
            inputXhsProjectInfoWizardPage.Name = "inputXhsProjectInfoWizardPage";
            inputXhsProjectInfoWizardPage.Size = new Size(1089, 537);
            inputXhsProjectInfoWizardPage.TabIndex = 0;
            // 
            // navPageSetMapLocation
            // 
            navPageSetMapLocation.Caption = "navPageSetMapLocation";
            navPageSetMapLocation.Controls.Add(setXhsProjectMapLocationCtrl1);
            navPageSetMapLocation.Controls.Add(setXhsProjectMapLocationWizardPage);
            navPageSetMapLocation.Name = "navPageSetMapLocation";
            navPageSetMapLocation.Size = new Size(1089, 537);
            // 
            // setXhsProjectMapLocationCtrl1
            // setXhsProjectMapLocationWizardPage
            // 
            setXhsProjectMapLocationCtrl1.Dock = DockStyle.Fill;
            setXhsProjectMapLocationCtrl1.Location = new Point(0, 0);
            setXhsProjectMapLocationCtrl1.Name = "setXhsProjectMapLocationCtrl1";
            setXhsProjectMapLocationCtrl1.Size = new Size(1089, 537);
            setXhsProjectMapLocationCtrl1.TabIndex = 0;
            setXhsProjectMapLocationWizardPage.Dock = DockStyle.Fill;
            setXhsProjectMapLocationWizardPage.Location = new Point(0, 0);
            setXhsProjectMapLocationWizardPage.Name = "setXhsProjectMapLocationWizardPage";
            setXhsProjectMapLocationWizardPage.Size = new Size(1089, 537);
            setXhsProjectMapLocationWizardPage.TabIndex = 0;
            // 
            // navPageGenerateProject
            // 
            navPageGenerateProject.Caption = "navPageGenerateProject";
            navPageGenerateProject.Controls.Add(generateXhsProjectCtrl1);
            navPageGenerateProject.Controls.Add(generateXhsProjectWizardPage);
            navPageGenerateProject.Name = "navPageGenerateProject";
            navPageGenerateProject.Size = new Size(1089, 537);
            // 
            // generateXhsProjectCtrl1
            // generateXhsProjectWizardPage
            // 
            generateXhsProjectCtrl1.Dock = DockStyle.Fill;
            generateXhsProjectCtrl1.Location = new Point(0, 0);
            generateXhsProjectCtrl1.Name = "generateXhsProjectCtrl1";
            generateXhsProjectCtrl1.Size = new Size(1089, 537);
            generateXhsProjectCtrl1.TabIndex = 0;
            generateXhsProjectWizardPage.Dock = DockStyle.Fill;
            generateXhsProjectWizardPage.Location = new Point(0, 0);
            generateXhsProjectWizardPage.Name = "generateXhsProjectWizardPage";
            generateXhsProjectWizardPage.Size = new Size(1089, 537);
            generateXhsProjectWizardPage.TabIndex = 0;
            // 
            // navPageImportCompleted
            // 
            navPageImportCompleted.Caption = "navPageImportCompleted";
            navPageImportCompleted.Controls.Add(importXhsProjectCompletedCtrl1);
            navPageImportCompleted.Controls.Add(importXhsProjectCompletedWizardPage);
            navPageImportCompleted.Name = "navPageImportCompleted";
            navPageImportCompleted.Size = new Size(1089, 537);
            // 
            // importXhsProjectCompletedCtrl1
            // importXhsProjectCompletedWizardPage
            // 
            importXhsProjectCompletedCtrl1.Dock = DockStyle.Fill;
            importXhsProjectCompletedCtrl1.Location = new Point(0, 0);
            importXhsProjectCompletedCtrl1.Name = "importXhsProjectCompletedCtrl1";
            importXhsProjectCompletedCtrl1.Size = new Size(1089, 537);
            importXhsProjectCompletedCtrl1.TabIndex = 0;
            importXhsProjectCompletedWizardPage.Dock = DockStyle.Fill;
            importXhsProjectCompletedWizardPage.Location = new Point(0, 0);
            importXhsProjectCompletedWizardPage.Name = "importXhsProjectCompletedWizardPage";
            importXhsProjectCompletedWizardPage.Size = new Size(1089, 537);
            importXhsProjectCompletedWizardPage.TabIndex = 0;
            // 
            // stepProgressBar1
            // 
            stepProgressBar1.ContentAlignment = ContentAlignment.MiddleLeft;
            stepProgressBar1.ItemOptions.Indicator.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepProgressBar1.ItemOptions.Indicator.ActiveStateImageOptions.SvgImage");
            stepProgressBar1.ItemOptions.Indicator.ActiveStateImageOptions.SvgImageSize = new Size(20, 20);
            stepProgressBar1.Items.Add(stepPbSelectModelFile);
            stepProgressBar1.Items.Add(stepPbInputProjectInfo);
            stepProgressBar1.Items.Add(stepPbSetMapLocation);
@@ -262,7 +281,7 @@
            // 
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, layoutControlItem3, layoutControlItem4, layoutControlItem5, emptySpaceItem1 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, itemForCancel, itemForNext, itemForPrev, emptySpaceItem1, itemForComplete });
            Root.Name = "Root";
            Root.Size = new Size(1113, 695);
            Root.TextVisible = false;
@@ -285,49 +304,58 @@
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            // 
            // layoutControlItem3
            // itemForCancel
            // 
            layoutControlItem3.Control = btnCancel;
            layoutControlItem3.Location = new Point(973, 649);
            layoutControlItem3.MaxSize = new Size(120, 26);
            layoutControlItem3.MinSize = new Size(120, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(120, 26);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            itemForCancel.Control = btnCancel;
            itemForCancel.Location = new Point(843, 649);
            itemForCancel.MaxSize = new Size(120, 26);
            itemForCancel.MinSize = new Size(120, 26);
            itemForCancel.Name = "itemForCancel";
            itemForCancel.Size = new Size(120, 26);
            itemForCancel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            itemForCancel.TextSize = new Size(0, 0);
            itemForCancel.TextVisible = false;
            // 
            // layoutControlItem4
            // itemForNext
            // 
            layoutControlItem4.Control = btnNext;
            layoutControlItem4.Location = new Point(853, 649);
            layoutControlItem4.MaxSize = new Size(120, 26);
            layoutControlItem4.MinSize = new Size(120, 26);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(120, 26);
            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem4.TextSize = new Size(0, 0);
            layoutControlItem4.TextVisible = false;
            itemForNext.Control = btnNext;
            itemForNext.Location = new Point(723, 649);
            itemForNext.MaxSize = new Size(120, 26);
            itemForNext.MinSize = new Size(120, 26);
            itemForNext.Name = "itemForNext";
            itemForNext.Size = new Size(120, 26);
            itemForNext.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            itemForNext.TextSize = new Size(0, 0);
            itemForNext.TextVisible = false;
            // 
            // layoutControlItem5
            // itemForPrev
            // 
            layoutControlItem5.Control = btnBack;
            layoutControlItem5.Location = new Point(733, 649);
            layoutControlItem5.MaxSize = new Size(120, 26);
            layoutControlItem5.MinSize = new Size(120, 26);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(120, 26);
            layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            itemForPrev.Control = btnPrev;
            itemForPrev.Location = new Point(603, 649);
            itemForPrev.MaxSize = new Size(120, 26);
            itemForPrev.MinSize = new Size(120, 26);
            itemForPrev.Name = "itemForPrev";
            itemForPrev.Size = new Size(120, 26);
            itemForPrev.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            itemForPrev.TextSize = new Size(0, 0);
            itemForPrev.TextVisible = false;
            // 
            // emptySpaceItem1
            // 
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 649);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(733, 26);
            emptySpaceItem1.Size = new Size(603, 26);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // itemForComplete
            //
            itemForComplete.Control = btnComplete;
            itemForComplete.Location = new Point(963, 649);
            itemForComplete.Name = "itemForComplete";
            itemForComplete.Size = new Size(130, 26);
            itemForComplete.TextSize = new Size(0, 0);
            itemForComplete.TextVisible = false;
            // 
            // ImportXhsProjectDlg
            // 
@@ -336,7 +364,9 @@
            ClientSize = new Size(1113, 695);
            Controls.Add(layoutControl1);
            Name = "ImportXhsProjectDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "项目导入";
            FormClosing += ImportXhsProjectDlg_FormClosing;
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)navigationFrame1).EndInit();
@@ -350,10 +380,11 @@
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)itemForCancel).EndInit();
            ((ISupportInitialize)itemForNext).EndInit();
            ((ISupportInitialize)itemForPrev).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)itemForComplete).EndInit();
            ResumeLayout(false);
        }
@@ -372,20 +403,22 @@
        private DevExpress.XtraBars.Navigation.NavigationPage navPageSelectModelFile;
        private DevExpress.XtraBars.Navigation.NavigationPage navPageInputProjectInfo;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraEditors.SimpleButton btnBack;
        private DevExpress.XtraEditors.SimpleButton btnPrev;
        private DevExpress.XtraEditors.SimpleButton btnNext;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.LayoutControlItem itemForCancel;
        private DevExpress.XtraLayout.LayoutControlItem itemForNext;
        private DevExpress.XtraLayout.LayoutControlItem itemForPrev;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraBars.Navigation.NavigationPage navPageSetMapLocation;
        private DevExpress.XtraBars.Navigation.NavigationPage navPageGenerateProject;
        private DevExpress.XtraBars.Navigation.NavigationPage navPageImportCompleted;
        private SelectXhsProjectModelFileCtrl selectXhsProjectModelFileCtrl1;
        private InputXhsProjectBasicInfoCtrl inputXhsProjectBasicInfoCtrl1;
        private SetXhsProjectMapLocationCtrl setXhsProjectMapLocationCtrl1;
        private GenerateXhsProjectCtrl generateXhsProjectCtrl1;
        private ImportXhsProjectCompletedCtrl importXhsProjectCompletedCtrl1;
        private SelectXhsProjectModelFileWizardPage selectXhsProjectModelFileWizardPage;
        private InputXhsProjectInfoWizardPage inputXhsProjectInfoWizardPage;
        private SetXhsProjectMapLocationWizardPage setXhsProjectMapLocationWizardPage;
        private GenerateXhsProjectWizardPage generateXhsProjectWizardPage;
        private ImportXhsProjectCompletedCtrl importXhsProjectCompletedWizardPage;
        private DevExpress.XtraEditors.SimpleButton btnComplete;
        private DevExpress.XtraLayout.LayoutControlItem itemForComplete;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
using DevExpress.XtraLayout.Utils;
namespace HStation.WinFrmUI
{
    public partial class ImportXhsProjectDlg : DevExpress.XtraEditors.XtraForm
    {
        public ImportXhsProjectDlg()
        {
            InitializeComponent();
        }
        private ImportXhsProjectManager _wizard;
        /// <summary>
        ///
        /// </summary>
        public void SetBindingData()
        {
            _wizard = new ImportXhsProjectManager();
            _wizard.SelectedPageChangedEvent += _wizard_SelectedPageChangedEvent;
            _wizard.InitialManager(new IWizardPage<ImportXhsProjectViewModel>[] {
                this.selectXhsProjectModelFileWizardPage,
                this.inputXhsProjectInfoWizardPage,
                this.setXhsProjectMapLocationWizardPage,
                this.generateXhsProjectWizardPage,
                this.importXhsProjectCompletedWizardPage
            });
        }
        //选择页面改变
        private void _wizard_SelectedPageChangedEvent(IWizardPage<ImportXhsProjectViewModel> page, int index)
        {
            this.itemForPrev.Visibility = page.AllowPrev ? LayoutVisibility.Always : LayoutVisibility.Never;
            this.itemForNext.Visibility = page.AllowNext ? LayoutVisibility.Always : LayoutVisibility.Never;
            this.itemForCancel.Visibility = page.AllowCancel ? LayoutVisibility.Always : LayoutVisibility.Never;
            this.itemForComplete.Visibility = page.AllowComplete ? LayoutVisibility.Always : LayoutVisibility.Never;
            this.navigationFrame1.SelectedPageIndex = index;
            this.stepProgressBar1.SelectedItemIndex = index;
        }
        //上一步
        private void btnPrev_Click(object sender, EventArgs e)
        {
            if (_wizard != null)
            {
                _wizard.Prev();
            }
        }
        //下一步
        private void btnNext_Click(object sender, EventArgs e)
        {
            if (_wizard != null)
            {
                _wizard.Next();
            }
        }
        //取消
        private void btnCancel_Click(object sender, EventArgs e)
        {
            if (_wizard != null)
            {
                var bol = _wizard.Cancel();
                if (bol)
                {
                    this.DialogResult = DialogResult.Cancel;
                    this.Close();
                }
            }
        }
        //完成
        private void btnComplete_Click(object sender, EventArgs e)
        {
            if (_wizard != null)
            {
                var bol = _wizard.Complete();
                if (bol)
                {
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
        }
        private void ImportXhsProjectDlg_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (_wizard != null)
            {
                if (!_wizard.Cancel())
                {
                    e.Cancel = true;
                }
            }
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.resx
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectDlg.resx ÐÞ¸Ä
@@ -117,4 +117,24 @@
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
  <data name="stepProgressBar1.ItemOptions.Indicator.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAK4CAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
        Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
        MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
        bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iTWFya0NvbXBsZXRlIj4NCiAgICA8
        cG9seWdvbiBwb2ludHM9IjI3LDQgMTEsMjAgNSwxNCAyLDE3IDExLDI2IDMwLDcgICIgY2xhc3M9Ikdy
        ZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
  </data>
</root>
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,131 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// å¯¼å…¥é¡¹ç›®ç®¡ç†
    /// </summary>
    public class ImportXhsProjectManager : IWizardManager<ImportXhsProjectViewModel>
    {
        /// <summary>
        /// åˆå§‹åŒ–管理器
        /// </summary>
        /// <param name="pages">步骤页面数组</param>
        public void InitialManager(IWizardPage<ImportXhsProjectViewModel>[] pages)
        {
            _pages = pages;
            if (_pages != null && _pages.Length > 0)
            {
                _selectedIndex = 0;
                this.SelectedPageChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                this.SelectedPage.InitialPage(_vm);
            }
        }
        private IWizardPage<ImportXhsProjectViewModel>[] _pages;//步骤页面数组
        private readonly ImportXhsProjectViewModel _vm = new ImportXhsProjectViewModel();
        /// <summary>
        /// é€‰æ‹©é¡µé¢æ”¹å˜äº‹ä»¶
        /// </summary>
        public event Action<Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>, int> SelectedPageChangedEvent;
        /// <summary>
        /// é€‰æ‹©é¡µé¢
        /// </summary>
        public IWizardPage<ImportXhsProjectViewModel> SelectedPage
        {
            get
            {
                if (_pages == null || _pages.Length < 1)
                {
                    return default;
                }
                return _pages[SelectedIndex];
            }
        }
        /// <summary>
        /// é€‰æ‹©ç´¢å¼•
        /// </summary>
        public int SelectedIndex
        {
            get { return _selectedIndex; }
        }
        private int _selectedIndex;
        /// <summary>
        /// ä¸Šä¸€æ­¥
        /// </summary>
        public bool Prev()
        {
            if (_pages == null || _pages.Length < 1)
            {
                return false;
            }
            if (this.SelectedPage.CanPrev())
            {
                --_selectedIndex;
                this.SelectedPageChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                this.SelectedPage.InitialPage(_vm);
                return true;
            }
            return false;
        }
        /// <summary>
        /// ä¸‹ä¸€æ­¥
        /// </summary>
        public bool Next()
        {
            if (_pages == null || _pages.Length < 1)
            {
                return false;
            }
            if (this.SelectedPage.CanNext())
            {
                ++_selectedIndex;
                this.SelectedPageChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                this.SelectedPage.InitialPage(_vm);
                return true;
            }
            return false;
        }
        /// <summary>
        /// å–消
        /// </summary>
        public bool Cancel()
        {
            if (_pages == null || _pages.Length < 1)
            {
                return false;
            }
            if (this.SelectedPage.CanCancel())
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// å®Œæˆ
        /// </summary>
        public bool Complete()
        {
            if (_pages == null || _pages.Length < 1)
            {
                return false;
            }
            if (this.SelectedPage.CanComplete())
            {
                return true;
            }
            return false;
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectViewModel.cs ÐÞ¸Ä
@@ -1,7 +1,7 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    ///
    /// é¡¹ç›®å¯¼å…¥view model
    /// </summary>
    public class ImportXhsProjectViewModel
    {
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SelectXhsProjectModelFileCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class SelectXhsProjectModelFileCtrl
    partial class SelectXhsProjectModelFileWizardPage
    {
        /// <summary> 
        /// Required designer variable.
@@ -28,19 +28,22 @@
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            DevExpress.XtraLayout.ColumnDefinition columnDefinition1 = new DevExpress.XtraLayout.ColumnDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition1 = new DevExpress.XtraLayout.RowDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition2 = new DevExpress.XtraLayout.RowDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition3 = new DevExpress.XtraLayout.RowDefinition();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            btnEditSelectModelFile = new DevExpress.XtraEditors.ButtonEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)btnEditSelectModelFile.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
@@ -54,6 +57,17 @@
            layoutControl1.Size = new Size(941, 591);
            layoutControl1.TabIndex = 0;
            layoutControl1.Text = "layoutControl1";
            //
            // btnEditSelectModelFile
            //
            btnEditSelectModelFile.Location = new Point(30, 241);
            btnEditSelectModelFile.Name = "btnEditSelectModelFile";
            btnEditSelectModelFile.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton() });
            btnEditSelectModelFile.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
            btnEditSelectModelFile.Size = new Size(881, 20);
            btnEditSelectModelFile.StyleController = layoutControl1;
            btnEditSelectModelFile.TabIndex = 4;
            btnEditSelectModelFile.ButtonClick += btnEditSelectModelFile_ButtonClick;
            // 
            // Root
            // 
@@ -75,17 +89,6 @@
            Root.Size = new Size(941, 591);
            Root.TextVisible = false;
            // 
            // btnEditSelectModelFile
            //
            btnEditSelectModelFile.Location = new Point(30, 241);
            btnEditSelectModelFile.Name = "btnEditSelectModelFile";
            btnEditSelectModelFile.Properties.AutoHeight = false;
            btnEditSelectModelFile.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton() });
            btnEditSelectModelFile.Size = new Size(881, 34);
            btnEditSelectModelFile.StyleController = layoutControl1;
            btnEditSelectModelFile.TabIndex = 4;
            btnEditSelectModelFile.ButtonClick += btnEditSelectModelFile_ButtonClick;
            //
            // layoutControlItem1
            // 
            layoutControlItem1.AppearanceItemCaption.FontSizeDelta = 6;
@@ -100,6 +103,10 @@
            layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
            layoutControlItem1.TextSize = new Size(120, 24);
            // 
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // SelectXhsProjectModelFileCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -109,9 +116,10 @@
            Size = new Size(941, 591);
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)btnEditSelectModelFile.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
@@ -121,5 +129,6 @@
        private DevExpress.XtraEditors.ButtonEdit btnEditSelectModelFile;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// é€‰æ‹©é¡¹ç›®æ¨¡åž‹æ–‡ä»¶
    /// </summary>
    public partial class SelectXhsProjectModelFileWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
    {
        public SelectXhsProjectModelFileWizardPage()
        {
            InitializeComponent();
            this.layoutControl1.SetupLayoutControl();
        }
        private ImportXhsProjectViewModel _vm = null;
        /// <summary>
        /// åˆå§‹åŒ–
        /// </summary>
        public void InitialPage(ImportXhsProjectViewModel t)
        {
            if (_isInitialize)
            {
                return;
            }
            _vm = t;
            _isInitialize = true;
        }
        /// <summary>
        /// æ˜¯å¦åˆå§‹åŒ–
        /// </summary>
        public bool IsInitialize
        {
            get { return _isInitialize; }
        }
        private bool _isInitialize = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸è¿”回上一步
        /// </summary>
        public bool AllowPrev
        {
            get { return false; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸è¿›å…¥ä¸‹ä¸€æ­¥
        /// </summary>
        public bool AllowNext
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸å–消
        /// </summary>
        public bool AllowCancel
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸å®Œæˆ
        /// </summary>
        public bool AllowComplete
        {
            get { return false; }
        }
        /// <summary>
        /// èƒ½å¦è¿”回上一步
        /// </summary>
        public bool CanPrev()
        {
            return false;
        }
        /// <summary>
        /// èƒ½å¦è¿›å…¥ä¸‹ä¸€æ­¥
        /// </summary>
        public bool CanNext()
        {
            this.dxErrorProvider1.ClearErrors();
            if (string.IsNullOrEmpty(this.btnEditSelectModelFile.Text.Trim()))
            {
                this.dxErrorProvider1.SetError(this.btnEditSelectModelFile, "必选项");
                return false;
            }
            return true;
        }
        /// <summary>
        /// èƒ½å¦å…³é—­
        /// </summary>
        public bool CanCancel()
        {
            return true;
        }
        /// <summary>
        /// èƒ½å¦å®Œæˆ
        /// </summary>
        public bool CanComplete()
        {
            return false;
        }
        //选择模型文件
        private void btnEditSelectModelFile_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            var suffix = Settings.XhsParasHelper.Xhs.File.Suffix;
            var dlg = new OpenFileDialog();
            dlg.Filter = $"模型文件(*{suffix})|*{suffix}";
            dlg.FilterIndex = 1;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                var fileName = dlg.FileName;
                _vm.ZipFile = fileName;
                this.btnEditSelectModelFile.EditValue = fileName;
            }
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.resx
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/InputXhsProjectBasicInfoCtrl.resx copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/02-ProjectInfo/InputXhsProjectInfoWizardPage.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/InputXhsProjectBasicInfoCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class InputXhsProjectBasicInfoCtrl
    partial class InputXhsProjectInfoWizardPage
    {
        /// <summary> 
        /// Required designer variable.
@@ -30,46 +30,46 @@
        {
            components = new Container();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            txtNO = new DevExpress.XtraEditors.TextEdit();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            txtName = new DevExpress.XtraEditors.TextEdit();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            txtCustomer = new DevExpress.XtraEditors.TextEdit();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            txtAddress = new DevExpress.XtraEditors.TextEdit();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            txtDescription = new DevExpress.XtraEditors.MemoEdit();
            txtTagNme = new DevExpress.XtraEditors.TextEdit();
            txtFlags = new DevExpress.XtraEditors.TextEdit();
            txtAddress = new DevExpress.XtraEditors.TextEdit();
            txtCustomer = new DevExpress.XtraEditors.TextEdit();
            txtName = new DevExpress.XtraEditors.TextEdit();
            txtNO = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            textEdit1 = new DevExpress.XtraEditors.TextEdit();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
            memoEdit1 = new DevExpress.XtraEditors.MemoEdit();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)txtNO.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)txtName.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            ((ISupportInitialize)txtCustomer.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)txtAddress.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)txtDescription.Properties).BeginInit();
            ((ISupportInitialize)txtTagNme.Properties).BeginInit();
            ((ISupportInitialize)txtFlags.Properties).BeginInit();
            ((ISupportInitialize)txtAddress.Properties).BeginInit();
            ((ISupportInitialize)txtCustomer.Properties).BeginInit();
            ((ISupportInitialize)txtName.Properties).BeginInit();
            ((ISupportInitialize)txtNO.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)textEdit1.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem6).BeginInit();
            ((ISupportInitialize)memoEdit1.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem7).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
            // 
            layoutControl1.Controls.Add(memoEdit1);
            layoutControl1.Controls.Add(textEdit1);
            layoutControl1.Controls.Add(txtDescription);
            layoutControl1.Controls.Add(txtTagNme);
            layoutControl1.Controls.Add(txtFlags);
            layoutControl1.Controls.Add(txtAddress);
            layoutControl1.Controls.Add(txtCustomer);
@@ -83,6 +83,62 @@
            layoutControl1.TabIndex = 0;
            layoutControl1.Text = "layoutControl1";
            // 
            // txtDescription
            //
            txtDescription.Location = new Point(84, 84);
            txtDescription.Name = "txtDescription";
            txtDescription.Size = new Size(763, 368);
            txtDescription.StyleController = layoutControl1;
            txtDescription.TabIndex = 10;
            //
            // txtTagNme
            //
            txtTagNme.Location = new Point(503, 60);
            txtTagNme.Name = "txtTagNme";
            txtTagNme.Size = new Size(344, 20);
            txtTagNme.StyleController = layoutControl1;
            txtTagNme.TabIndex = 9;
            //
            // txtFlags
            //
            txtFlags.Location = new Point(84, 60);
            txtFlags.Name = "txtFlags";
            txtFlags.Size = new Size(343, 20);
            txtFlags.StyleController = layoutControl1;
            txtFlags.TabIndex = 8;
            //
            // txtAddress
            //
            txtAddress.Location = new Point(503, 36);
            txtAddress.Name = "txtAddress";
            txtAddress.Size = new Size(344, 20);
            txtAddress.StyleController = layoutControl1;
            txtAddress.TabIndex = 7;
            //
            // txtCustomer
            //
            txtCustomer.Location = new Point(84, 36);
            txtCustomer.Name = "txtCustomer";
            txtCustomer.Size = new Size(343, 20);
            txtCustomer.StyleController = layoutControl1;
            txtCustomer.TabIndex = 6;
            //
            // txtName
            //
            txtName.Location = new Point(503, 12);
            txtName.Name = "txtName";
            txtName.Size = new Size(344, 20);
            txtName.StyleController = layoutControl1;
            txtName.TabIndex = 5;
            //
            // txtNO
            //
            txtNO.Location = new Point(84, 12);
            txtNO.Name = "txtNO";
            txtNO.Size = new Size(343, 20);
            txtNO.StyleController = layoutControl1;
            txtNO.TabIndex = 4;
            //
            // Root
            // 
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
@@ -94,14 +150,6 @@
            Root.Size = new Size(859, 464);
            Root.TextVisible = false;
            // 
            // txtNO
            //
            txtNO.Location = new Point(84, 12);
            txtNO.Name = "txtNO";
            txtNO.Size = new Size(343, 20);
            txtNO.StyleController = layoutControl1;
            txtNO.TabIndex = 4;
            //
            // layoutControlItem1
            // 
            layoutControlItem1.Control = txtNO;
@@ -110,14 +158,6 @@
            layoutControlItem1.Size = new Size(419, 24);
            layoutControlItem1.Text = "编号:";
            layoutControlItem1.TextSize = new Size(60, 14);
            //
            // txtName
            //
            txtName.Location = new Point(503, 12);
            txtName.Name = "txtName";
            txtName.Size = new Size(344, 20);
            txtName.StyleController = layoutControl1;
            txtName.TabIndex = 5;
            // 
            // layoutControlItem2
            // 
@@ -129,18 +169,6 @@
            layoutControlItem2.Text = "<color=red>*</color>名称:";
            layoutControlItem2.TextSize = new Size(60, 14);
            // 
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // txtCustomer
            //
            txtCustomer.Location = new Point(84, 36);
            txtCustomer.Name = "txtCustomer";
            txtCustomer.Size = new Size(343, 20);
            txtCustomer.StyleController = layoutControl1;
            txtCustomer.TabIndex = 6;
            //
            // layoutControlItem3
            // 
            layoutControlItem3.Control = txtCustomer;
@@ -149,14 +177,6 @@
            layoutControlItem3.Size = new Size(419, 24);
            layoutControlItem3.Text = "客户:";
            layoutControlItem3.TextSize = new Size(60, 14);
            //
            // txtAddress
            //
            txtAddress.Location = new Point(503, 36);
            txtAddress.Name = "txtAddress";
            txtAddress.Size = new Size(344, 20);
            txtAddress.StyleController = layoutControl1;
            txtAddress.TabIndex = 7;
            // 
            // layoutControlItem4
            // 
@@ -167,14 +187,6 @@
            layoutControlItem4.Text = "详细地址:";
            layoutControlItem4.TextSize = new Size(60, 14);
            // 
            // txtFlags
            //
            txtFlags.Location = new Point(84, 60);
            txtFlags.Name = "txtFlags";
            txtFlags.Size = new Size(343, 20);
            txtFlags.StyleController = layoutControl1;
            txtFlags.TabIndex = 8;
            //
            // layoutControlItem5
            // 
            layoutControlItem5.Control = txtFlags;
@@ -184,65 +196,53 @@
            layoutControlItem5.Text = "标签:";
            layoutControlItem5.TextSize = new Size(60, 14);
            // 
            // textEdit1
            //
            textEdit1.Location = new Point(503, 60);
            textEdit1.Name = "textEdit1";
            textEdit1.Size = new Size(344, 20);
            textEdit1.StyleController = layoutControl1;
            textEdit1.TabIndex = 9;
            //
            // layoutControlItem6
            // 
            layoutControlItem6.Control = textEdit1;
            layoutControlItem6.Control = txtTagNme;
            layoutControlItem6.Location = new Point(419, 48);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(420, 24);
            layoutControlItem6.Text = "标志:";
            layoutControlItem6.TextSize = new Size(60, 14);
            // 
            // memoEdit1
            //
            memoEdit1.Location = new Point(84, 84);
            memoEdit1.Name = "memoEdit1";
            memoEdit1.Size = new Size(763, 368);
            memoEdit1.StyleController = layoutControl1;
            memoEdit1.TabIndex = 10;
            //
            // layoutControlItem7
            // 
            layoutControlItem7.Control = memoEdit1;
            layoutControlItem7.Control = txtDescription;
            layoutControlItem7.Location = new Point(0, 72);
            layoutControlItem7.Name = "layoutControlItem7";
            layoutControlItem7.Size = new Size(839, 372);
            layoutControlItem7.Text = "说明";
            layoutControlItem7.TextSize = new Size(60, 14);
            // 
            // InputXhsProjectBasicInfoCtrl
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // InputXhsProjectInfoWizardPage
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "InputXhsProjectBasicInfoCtrl";
            Name = "InputXhsProjectInfoWizardPage";
            Size = new Size(859, 464);
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)txtNO.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)txtName.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ((ISupportInitialize)txtCustomer.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)txtAddress.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)txtDescription.Properties).EndInit();
            ((ISupportInitialize)txtTagNme.Properties).EndInit();
            ((ISupportInitialize)txtFlags.Properties).EndInit();
            ((ISupportInitialize)txtAddress.Properties).EndInit();
            ((ISupportInitialize)txtCustomer.Properties).EndInit();
            ((ISupportInitialize)txtName.Properties).EndInit();
            ((ISupportInitialize)txtNO.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)textEdit1.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem6).EndInit();
            ((ISupportInitialize)memoEdit1.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem7).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
@@ -257,13 +257,13 @@
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraEditors.TextEdit txtCustomer;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraEditors.TextEdit textEdit1;
        private DevExpress.XtraEditors.TextEdit txtTagNme;
        private DevExpress.XtraEditors.TextEdit txtFlags;
        private DevExpress.XtraEditors.TextEdit txtAddress;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraEditors.MemoEdit memoEdit1;
        private DevExpress.XtraEditors.MemoEdit txtDescription;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/02-ProjectInfo/InputXhsProjectInfoWizardPage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
namespace HStation.WinFrmUI
{
    public partial class InputXhsProjectInfoWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
    {
        public InputXhsProjectInfoWizardPage()
        {
            InitializeComponent();
        }
        private ImportXhsProjectViewModel _vm = null;
        /// <summary>
        /// åˆå§‹åŒ–
        /// </summary>
        public void InitialPage(ImportXhsProjectViewModel t)
        {
            if (_isInitialize)
            {
                return;
            }
            _vm = t;
            _isInitialize = true;
        }
        /// <summary>
        /// æ˜¯å¦åˆå§‹åŒ–
        /// </summary>
        public bool IsInitialize
        {
            get { return _isInitialize; }
        }
        private bool _isInitialize = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸ä¸Šä¸€æ­¥
        /// </summary>
        public bool AllowPrev
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸ä¸‹ä¸€æ­¥
        /// </summary>
        public bool AllowNext
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸å–消
        /// </summary>
        public bool AllowCancel
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸å®Œæˆ
        /// </summary>
        public bool AllowComplete
        {
            get { return false; }
        }
        /// <summary>
        /// èƒ½å¦è¿”回上一步
        /// </summary>
        public bool CanPrev()
        {
            return true;
        }
        /// <summary>
        /// èƒ½å¦è¿›å…¥ä¸‹ä¸€æ­¥
        /// </summary>
        public bool CanNext()
        {
            this.dxErrorProvider1.ClearErrors();
            if (string.IsNullOrEmpty(this.txtName.Text.Trim()))
            {
                this.dxErrorProvider1.SetError(this.txtName, "必填项");
                return false;
            }
            _vm.NO = this.txtNO.Text.Trim();
            _vm.Name = this.txtName.Text.Trim();
            _vm.Customer = this.txtCustomer.Text.Trim();
            _vm.Address = this.txtAddress.Text.Trim();
            _vm.Flags = null;
            _vm.TagName = this.txtTagNme.Text.Trim();
            _vm.Description = this.txtDescription.Text.Trim();
            return true;
        }
        /// <summary>
        /// èƒ½å¦å…³é—­
        /// </summary>
        public bool CanCancel()
        {
            return true;
        }
        /// <summary>
        /// èƒ½å¦å®Œæˆ
        /// </summary>
        public bool CanComplete()
        {
            return false;
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/02-ProjectInfo/InputXhsProjectInfoWizardPage.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.Designer.cs
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/GenerateXhsProjectCtrl.Designer.cs copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.Designer.cs
Îļþ´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/GenerateXhsProjectCtrl.Designer.cs ¸´ÖÆ
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class GenerateXhsProjectCtrl
    partial class SetXhsProjectMapLocationWizardPage
    {
        /// <summary> 
        /// Required designer variable.
@@ -28,33 +28,47 @@
        /// </summary>
        private void InitializeComponent()
        {
            mapSetSimpleMarkerContainer1 = new MapSetSimpleMarkerContainer();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            txtAddress = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            listBoxControl1 = new DevExpress.XtraEditors.ListBoxControl();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            progressBarControl1 = new DevExpress.XtraEditors.ProgressBarControl();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtAddress.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)listBoxControl1).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)progressBarControl1.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            SuspendLayout();
            // 
            // mapSetSimpleMarkerContainer1
            //
            mapSetSimpleMarkerContainer1.Location = new Point(2, 2);
            mapSetSimpleMarkerContainer1.Margin = new Padding(3, 2, 3, 2);
            mapSetSimpleMarkerContainer1.Name = "mapSetSimpleMarkerContainer1";
            mapSetSimpleMarkerContainer1.Size = new Size(761, 431);
            mapSetSimpleMarkerContainer1.TabIndex = 0;
            //
            // layoutControl1
            // 
            layoutControl1.Controls.Add(progressBarControl1);
            layoutControl1.Controls.Add(listBoxControl1);
            layoutControl1.Controls.Add(txtAddress);
            layoutControl1.Controls.Add(mapSetSimpleMarkerContainer1);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(988, 216, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(721, 505);
            layoutControl1.TabIndex = 0;
            layoutControl1.Size = new Size(765, 459);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // txtAddress
            //
            txtAddress.Location = new Point(74, 437);
            txtAddress.Name = "txtAddress";
            txtAddress.Size = new Size(689, 20);
            txtAddress.StyleController = layoutControl1;
            txtAddress.TabIndex = 4;
            // 
            // Root
            // 
@@ -62,67 +76,51 @@
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2 });
            Root.Name = "Root";
            Root.Size = new Size(721, 505);
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            Root.Size = new Size(765, 459);
            Root.TextVisible = false;
            //
            // listBoxControl1
            //
            listBoxControl1.Location = new Point(12, 34);
            listBoxControl1.Name = "listBoxControl1";
            listBoxControl1.Size = new Size(697, 459);
            listBoxControl1.StyleController = layoutControl1;
            listBoxControl1.TabIndex = 4;
            // 
            // layoutControlItem1
            // 
            layoutControlItem1.Control = listBoxControl1;
            layoutControlItem1.Location = new Point(0, 22);
            layoutControlItem1.Control = mapSetSimpleMarkerContainer1;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(701, 463);
            layoutControlItem1.Size = new Size(765, 435);
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
            // 
            // progressBarControl1
            //
            progressBarControl1.Location = new Point(12, 12);
            progressBarControl1.Name = "progressBarControl1";
            progressBarControl1.Size = new Size(697, 18);
            progressBarControl1.StyleController = layoutControl1;
            progressBarControl1.TabIndex = 5;
            //
            // layoutControlItem2
            // 
            layoutControlItem2.Control = progressBarControl1;
            layoutControlItem2.Location = new Point(0, 0);
            layoutControlItem2.Control = txtAddress;
            layoutControlItem2.Location = new Point(0, 435);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(701, 22);
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            layoutControlItem2.Size = new Size(765, 24);
            layoutControlItem2.Text = "详细地址:";
            layoutControlItem2.TextSize = new Size(60, 14);
            // 
            // GenerateXhsProjectCtrl
            // SetXhsProjectMapLocationCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "GenerateXhsProjectCtrl";
            Size = new Size(721, 505);
            Name = "SetXhsProjectMapLocationCtrl";
            Size = new Size(765, 459);
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtAddress.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)listBoxControl1).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)progressBarControl1.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private MapSetSimpleMarkerContainer mapSetSimpleMarkerContainer1;
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraEditors.ProgressBarControl progressBarControl1;
        private DevExpress.XtraEditors.ListBoxControl listBoxControl1;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.TextEdit txtAddress;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
namespace HStation.WinFrmUI
{
    public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
    {
        public SetXhsProjectMapLocationWizardPage()
        {
            InitializeComponent();
            this.layoutControl1.SetupLayoutControl();
        }
        private ImportXhsProjectViewModel _vm = null;
        /// <summary>
        /// åˆå§‹åŒ–
        /// </summary>
        public async void InitialPage(ImportXhsProjectViewModel t)
        {
            if (_isInitialize)
            {
                return;
            }
            _vm = t;
            _isInitialize = true;
            this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent;
            this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent;
            await this.mapSetSimpleMarkerContainer1.InitialContainer();
        }
        /// <summary>
        /// æ˜¯å¦åˆå§‹åŒ–
        /// </summary>
        public bool IsInitialize
        {
            get { return _isInitialize; }
        }
        private bool _isInitialize = false;
        /// <summary>
        /// æ˜¯å¦å…è®¸ä¸Šä¸€æ­¥
        /// </summary>
        public bool AllowPrev
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸ä¸‹ä¸€æ­¥
        /// </summary>
        public bool AllowNext
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸å–消
        /// </summary>
        public bool AllowCancel
        {
            get { return true; }
        }
        /// <summary>
        /// æ˜¯å¦å…è®¸å®Œæˆ
        /// </summary>
        public bool AllowComplete
        {
            get { return false; }
        }
        /// <summary>
        /// èƒ½å¦ä¸Šä¸€æ­¥
        /// </summary>
        public bool CanPrev()
        {
            return true;
        }
        /// <summary>
        /// èƒ½å¦ä¸‹ä¸€æ­¥
        /// </summary>
        public bool CanNext()
        {
            return true;
        }
        /// <summary>
        /// èƒ½å¦å–消
        /// </summary>
        public bool CanCancel()
        {
            return true;
        }
        /// <summary>
        /// èƒ½å¦å®Œæˆ
        /// </summary>
        public bool CanComplete()
        {
            return false;
        }
        //地图加载完成
        private async void MapSetSimpleMarkerContainer1_LoadCompletedEvent()
        {
            if (_vm == null)
            {
                return;
            }
            if (_vm.Location != null)
            {
                await this.mapSetSimpleMarkerContainer1.LoadMarker(_vm.Location);
            }
        }
        //设置位置
        private void MapSetSimpleMarkerContainer1_SetMarkerEvent(Yw.Model.Map.Marker obj)
        {
            if (_vm != null)
            {
                _vm.Location = obj;
            }
            this.txtAddress.EditValue = obj.Address;
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.resx
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/GenerateXhsProjectCtrl.resx copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.Designer.cs
ÎļþÃû´Ó WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/GenerateXhsProjectCtrl.Designer.cs ÐÞ¸Ä
@@ -1,6 +1,6 @@
namespace HStation.WinFrmUI
{
    partial class GenerateXhsProjectCtrl
    partial class GenerateXhsProjectWizardPage
    {
        /// <summary> 
        /// Required designer variable.
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HStation.WinFrmUI
{
    public partial class GenerateXhsProjectWizardPage : DevExpress.XtraEditors.XtraUserControl, IWizardPage<ImportXhsProjectViewModel>
    {
        public GenerateXhsProjectWizardPage()
        {
            InitializeComponent();
        }
        public bool AllowPrev => throw new NotImplementedException();
        public bool AllowNext => throw new NotImplementedException();
        public bool AllowCancel => throw new NotImplementedException();
        public bool AllowComplete => throw new NotImplementedException();
        public bool IsInitialize => throw new NotImplementedException();
        public bool CanCancel()
        {
            throw new NotImplementedException();
        }
        public bool CanComplete()
        {
            throw new NotImplementedException();
        }
        public bool CanNext()
        {
            throw new NotImplementedException();
        }
        public bool CanPrev()
        {
            throw new NotImplementedException();
        }
        public void InitialPage(ImportXhsProjectViewModel t)
        {
            throw new NotImplementedException();
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
namespace HStation.WinFrmUI
{
    public partial class ImportXhsProjectCompletedCtrl : DevExpress.XtraEditors.XtraUserControl, IWizardPage<ImportXhsProjectViewModel>
    {
        public ImportXhsProjectCompletedCtrl()
        {
            InitializeComponent();
        }
        public bool AllowPrev => throw new NotImplementedException();
        public bool AllowNext => throw new NotImplementedException();
        public bool AllowCancel => throw new NotImplementedException();
        public bool AllowComplete => throw new NotImplementedException();
        public bool IsInitialize => throw new NotImplementedException();
        public bool CanCancel()
        {
            throw new NotImplementedException();
        }
        public bool CanComplete()
        {
            throw new NotImplementedException();
        }
        public bool CanNext()
        {
            throw new NotImplementedException();
        }
        public bool CanPrev()
        {
            throw new NotImplementedException();
        }
        public void InitialPage(ImportXhsProjectViewModel t)
        {
            throw new NotImplementedException();
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/GenerateXhsProjectCtrl.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectCompletedCtrl.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/ImportXhsProjectDlg.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/InputXhsProjectBasicInfoCtrl.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SelectXhsProjectModelFileCtrl.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SelectXhsProjectModelFileCtrl.resx
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SetXhsProjectMapLocationCtrl.Designer.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SetXhsProjectMapLocationCtrl.cs
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/SetXhsProjectMapLocationCtrl.resx
ÎļþÒÑɾ³ý
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
@@ -10,12 +10,16 @@
  <ItemGroup>
    <Compile Remove="03-ViewModel\**" />
    <Compile Remove="04-HomePageMainPanel\**" />
    <Compile Remove="05-Project\**" />
    <EmbeddedResource Remove="03-ViewModel\**" />
    <EmbeddedResource Remove="04-HomePageMainPanel\**" />
    <EmbeddedResource Remove="05-Project\**" />
    <None Remove="03-ViewModel\**" />
    <None Remove="04-HomePageMainPanel\**" />
    <None Remove="05-Project\**" />
    <Page Remove="03-ViewModel\**" />
    <Page Remove="04-HomePageMainPanel\**" />
    <Page Remove="05-Project\**" />
  </ItemGroup>
  <ItemGroup>
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
@@ -13,26 +13,23 @@
    <Compile Update="01-home\HomeXhsProjectPage.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="02-project\01-import\GenerateXhsProjectCtrl.cs">
    <Compile Update="02-project\01-import\04-GeneralProject\GenerateXhsProjectWizardPage.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="02-project\01-import\ImportXhsProjectCompletedCtrl.cs">
    <Compile Update="02-project\01-import\05-ImportCompleted\ImportXhsProjectCompletedCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="02-project\01-import\ImportXhsProjectDlg.cs">
    <Compile Update="02-project\01-import\00-core\ImportXhsProjectDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="02-project\01-import\InputXhsProjectBasicInfoCtrl.cs">
    <Compile Update="02-project\01-import\02-ProjectInfo\InputXhsProjectInfoWizardPage.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="02-project\01-import\SelectXhsProjectModelFileCtrl.cs">
    <Compile Update="02-project\01-import\01-ModelFile\SelectXhsProjectModelFileWizardPage.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="02-project\01-import\SetXhsProjectMapLocationCtrl.cs">
    <Compile Update="02-project\01-import\03-MapLocation\SetXhsProjectMapLocationWizardPage.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="04-HomePageMainPanel\AddXhsProjectDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="05-Project\00-PumpProject\AddXhsProjectDlg.cs">
      <SubType>Form</SubType>
WinFrmUI/Yw.WinFrmUI.Core/08-wizard/IWizardManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    /// æ­¥éª¤ç®¡ç†å™¨æŽ¥å£
    /// </summary>
    public interface IWizardManager<T> where T : class, new()
    {
        #region äº‹ä»¶
        /// <summary>
        /// é€‰æ‹©é¡µé¢æ”¹å˜äº‹ä»¶
        /// IWizardPage é€‰æ‹©çš„页面
        /// int é¡µé¢ç´¢å¼•
        /// </summary>
        event Action<IWizardPage<T>, int> SelectedPageChangedEvent;
        /// <summary>
        /// é€‰æ‹©é¡µé¢çŠ¶æ€æ”¹å˜äº‹ä»¶
        /// IWizardPage é€‰æ‹©çš„页面
        /// int é¡µé¢ç´¢å¼•
        /// </summary>
        event Action<IWizardPage<T>, int> SelectedPageStateChangedEvent;
        #endregion
        #region åˆå§‹åŒ–
        /// <summary>
        /// åˆå§‹åŒ–管理器
        /// </summary>
        /// <param name="pages">步骤页面数组</param>
        void InitialManager(IWizardPage<T>[] pages);
        #endregion
        #region é€‰æ‹©
        /// <summary>
        /// é€‰æ‹©é¡µé¢
        /// </summary>
        IWizardPage<T> SelectedPage { get; }
        /// <summary>
        /// é€‰æ‹©ç´¢å¼•
        /// </summary>
        int SelectedIndex { get; }
        #endregion
        #region æ“ä½œ
        /// <summary>
        /// ä¸Šä¸€æ­¥
        /// </summary>
        bool Prev();
        /// <summary>
        /// ä¸‹ä¸€æ­¥
        /// </summary>
        bool Next();
        /// <summary>
        /// å–消
        /// </summary>
        bool Cancel();
        /// <summary>
        /// å®Œæˆ
        /// </summary>
        bool Complete();
        #endregion
    }
}
WinFrmUI/Yw.WinFrmUI.Core/08-wizard/IWizardPage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    /// æ­¥éª¤é¡µé¢æŽ¥å£
    /// </summary>
    public interface IWizardPage<T> where T : class, new()
    {
        #region äº‹ä»¶
        /// <summary>
        /// é¡µé¢çŠ¶æ€æ”¹å˜äº‹ä»¶
        /// </summary>
        event Action PageStateChangedEvent;
        #endregion
        #region åˆå§‹åŒ–
        /// <summary>
        /// åˆå§‹åŒ–
        /// </summary>
        void InitialPage(T t);
        #endregion
        #region å…è®¸å±žæ€§
        /// <summary>
        /// å…è®¸ä¸Šä¸€æ­¥
        /// </summary>
        bool AllowPrev { get; }
        /// <summary>
        /// å…è®¸ä¸‹ä¸€æ­¥
        /// </summary>
        bool AllowNext { get; }
        /// <summary>
        /// å…è®¸å–消
        /// </summary>
        bool AllowCancel { get; }
        /// <summary>
        /// å…è®¸å®Œæˆ
        /// </summary>
        bool AllowComplete { get; }
        #endregion
        #region åˆ¤æ–­æ–¹æ³•
        /// <summary>
        /// èƒ½å¦ä¸Šä¸€æ­¥
        /// </summary>
        bool CanPrev();
        /// <summary>
        /// èƒ½å¦ä¸‹ä¸€æ­¥
        /// </summary>
        bool CanNext();
        /// <summary>
        /// èƒ½å¦å–消
        /// </summary>
        bool CanCancel();
        /// <summary>
        /// èƒ½å¦å®Œæˆ
        /// </summary>
        bool CanComplete();
        #endregion
    }
}
WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    /// æ­¥éª¤ç®¡ç†å™¨
    /// </summary>
    public class WizardManager<T> : IWizardManager<T> where T : class, new()
    {
        #region äº‹ä»¶
        /// <summary>
        /// é€‰æ‹©é¡µé¢æ”¹å˜äº‹ä»¶
        /// </summary>
        public event Action<IWizardPage<T>, int> SelectedPageChangedEvent;
        /// <summary>
        /// é€‰æ‹©é¡µé¢çŠ¶æ€æ”¹å˜äº‹ä»¶
        /// </summary>
        public event Action<IWizardPage<T>, int> SelectedPageStateChangedEvent;
        #endregion
        #region åˆå§‹åŒ–
        /// <summary>
        /// åˆå§‹åŒ–管理器
        /// </summary>
        /// <param name="pages">步骤页面数组</param>
        public virtual void InitialManager(IWizardPage<T>[] pages)
        {
            _pages = pages;
            if (_pages != null && _pages.Length > 0)
            {
                _isInitialize = true;
                foreach (var page in _pages)
                {
                    page.PageStateChangedEvent += () =>
                    {
                        if (page == this.SelectedPage)
                        {
                            this.SelectedPageStateChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                        }
                    };
                }
                _selectedIndex = 0;
                this.SelectedPageChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                this.SelectedPage.InitialPage(_vm);
            }
            else
            {
                _isInitialize = false;
            }
        }
        /// <summary>
        /// æ­¥éª¤é¡µé¢æ•°ç»„
        /// </summary>
        protected IWizardPage<T>[] _pages;
        /// <summary>
        /// æ˜¯å¦åˆå§‹åŒ–
        /// </summary>
        protected bool _isInitialize = false;
        /// <summary>
        /// vm对象
        /// </summary>
        protected readonly T _vm = new T();
        #endregion
        #region é€‰æ‹©
        /// <summary>
        /// é€‰æ‹©é¡µé¢
        /// </summary>
        public virtual IWizardPage<T> SelectedPage
        {
            get
            {
                if (_isInitialize)
                {
                    return _pages[this.SelectedIndex];
                }
                return default;
            }
        }
        /// <summary>
        /// é€‰æ‹©ç´¢å¼•
        /// </summary>
        public virtual int SelectedIndex
        {
            get { return _selectedIndex; }
        }
        /// <summary>
        /// é€‰æ‹©ç´¢å¼•
        /// </summary>
        protected int _selectedIndex;
        #endregion
        #region æ“ä½œ
        /// <summary>
        /// ä¸Šä¸€æ­¥
        /// </summary>
        public virtual bool Prev()
        {
            if (!_isInitialize)
            {
                return false;
            }
            if (!this.SelectedPage.AllowPrev)
            {
                return false;
            }
            if (this.SelectedPage.CanPrev())
            {
                --_selectedIndex;
                this.SelectedPageChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                this.SelectedPage.InitialPage(_vm);
                return true;
            }
            return false;
        }
        /// <summary>
        /// ä¸‹ä¸€æ­¥
        /// </summary>
        public virtual bool Next()
        {
            if (!_isInitialize)
            {
                return false;
            }
            if (!this.SelectedPage.AllowNext)
            {
                return false;
            }
            if (this.SelectedPage.CanNext())
            {
                ++_selectedIndex;
                this.SelectedPageChangedEvent?.Invoke(this.SelectedPage, this.SelectedIndex);
                this.SelectedPage.InitialPage(_vm);
                return true;
            }
            return false;
        }
        /// <summary>
        /// å–消
        /// </summary>
        public virtual bool Cancel()
        {
            if (!_isInitialize)
            {
                return false;
            }
            if (!this.SelectedPage.AllowCancel)
            {
                return false;
            }
            if (this.SelectedPage.CanCancel())
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// å®Œæˆ
        /// </summary>
        public virtual bool Complete()
        {
            if (!_isInitialize)
            {
                return false;
            }
            if (!this.SelectedPage.AllowComplete)
            {
                return false;
            }
            if (this.SelectedPage.CanComplete())
            {
                return true;
            }
            return false;
        }
        #endregion
    }
}
WinFrmUI/Yw.WinFrmUI.Map.Core/map/gaode/html/SetSimpleMarker.html
@@ -90,7 +90,7 @@
                    if (status === 'complete' && result.info === 'OK') {
                        let address = result.regeocode.formattedAddress;
                        _marker.Address = address;
                        _callbackObj.SetMarker(JSON.stringify(_marker));
                        _callBackObj.SetMarker(JSON.stringify(_marker));
                    }
                });
            }
@@ -117,7 +117,7 @@
                if (status === 'complete' && result.info === 'OK') {
                    let address = result.regeocode.formattedAddress;
                    _marker.Address = address;
                    _callbackObj.SetMarker(JSON.stringify(_marker));
                    _callBackObj.SetMarker(JSON.stringify(_marker));
                }
            });
        }