diff --git a/example/ChatUI/Main.Designer.cs b/example/ChatUI/Main.Designer.cs index 4b9c266e..6f92ce6e 100644 --- a/example/ChatUI/Main.Designer.cs +++ b/example/ChatUI/Main.Designer.cs @@ -101,7 +101,7 @@ Margin = new Padding(2); Name = "Main"; StartPosition = FormStartPosition.CenterScreen; - Text = "Form1"; + Text = "ChatUI"; ResumeLayout(false); } diff --git a/example/ChatUI/Program.cs b/example/ChatUI/Program.cs index 38f33f86..5bc7b48e 100644 --- a/example/ChatUI/Program.cs +++ b/example/ChatUI/Program.cs @@ -27,7 +27,6 @@ namespace ChatUI static void Main() { AntdUI.Config.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; - Application.SetCompatibleTextRenderingDefault(false); Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.Run(new Main()); } diff --git a/example/Demo/Controls/Tour.Designer.cs b/example/Demo/Controls/Tour.Designer.cs new file mode 100644 index 00000000..5d5d890a --- /dev/null +++ b/example/Demo/Controls/Tour.Designer.cs @@ -0,0 +1,251 @@ +// COPYRIGHT (C) Tom. ALL RIGHTS RESERVED. +// THE AntdUI PROJECT IS AN WINFORM LIBRARY LICENSED UNDER THE Apache-2.0 License. +// LICENSED UNDER THE Apache License, VERSION 2.0 (THE "License") +// YOU MAY NOT USE THIS FILE EXCEPT IN COMPLIANCE WITH THE License. +// YOU MAY OBTAIN A COPY OF THE LICENSE AT +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE +// DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND +// LIMITATIONS UNDER THE License. +// GITEE: https://gitee.com/antdui/AntdUI +// GITHUB: https://github.com/AntdUI/AntdUI +// CSDN: https://blog.csdn.net/v_132 +// QQ: 17379620 + +using System.Drawing; +using System.Windows.Forms; + +namespace Demo.Controls +{ + partial class Tour + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + header1 = new AntdUI.PageHeader(); + panel_main = new System.Windows.Forms.Panel(); + panel5 = new System.Windows.Forms.Panel(); + button1 = new AntdUI.Button(); + button2 = new AntdUI.Button(); + button7 = new AntdUI.Button(); + button8 = new AntdUI.Button(); + button3 = new AntdUI.Button(); + button4 = new AntdUI.Button(); + button5 = new AntdUI.Button(); + button6 = new AntdUI.Button(); + panel_main.SuspendLayout(); + panel5.SuspendLayout(); + SuspendLayout(); + // + // header1 + // + header1.Description = "用于分步引导用户了解产品功能的气泡组件。"; + header1.Dock = DockStyle.Top; + header1.Font = new Font("Microsoft YaHei UI", 12F); + header1.LocalizationDescription = "Tour.Description"; + header1.LocalizationText = "Tour.Text"; + header1.Location = new Point(0, 0); + header1.Name = "header1"; + header1.Padding = new Padding(0, 0, 0, 10); + header1.Size = new Size(845, 74); + header1.TabIndex = 0; + header1.Text = "Tour 漫游式引导"; + header1.UseTitleFont = true; + // + // panel_main + // + panel_main.AutoScroll = true; + panel_main.Controls.Add(panel5); + panel_main.Dock = DockStyle.Fill; + panel_main.Location = new Point(0, 74); + panel_main.Name = "panel_main"; + panel_main.Size = new Size(845, 687); + panel_main.TabIndex = 6; + // + // panel5 + // + panel5.Controls.Add(button1); + panel5.Controls.Add(button2); + panel5.Controls.Add(button7); + panel5.Controls.Add(button8); + panel5.Controls.Add(button3); + panel5.Controls.Add(button4); + panel5.Controls.Add(button5); + panel5.Controls.Add(button6); + panel5.Dock = DockStyle.Top; + panel5.Location = new Point(0, 0); + panel5.Name = "panel5"; + panel5.Size = new Size(845, 111); + panel5.TabIndex = 4; + // + // button1 + // + button1.AutoSizeMode = AntdUI.TAutoSize.Auto; + button1.BorderWidth = 1F; + button1.IconSvg = "SearchOutlined"; + button1.Location = new Point(3, 3); + button1.Name = "button1"; + button1.Size = new Size(115, 47); + button1.TabIndex = 0; + button1.Text = "Button"; + button1.Type = AntdUI.TTypeMini.Primary; + button1.Click += Btn; + // + // button2 + // + button2.AutoSizeMode = AntdUI.TAutoSize.Auto; + button2.BorderWidth = 1F; + button2.IconPosition = AntdUI.TAlignMini.Right; + button2.Location = new Point(124, 3); + button2.Name = "button2"; + button2.Size = new Size(87, 47); + button2.TabIndex = 1; + button2.Text = "Button"; + button2.Type = AntdUI.TTypeMini.Primary; + button2.Click += Btn; + // + // button7 + // + button7.AutoSizeMode = AntdUI.TAutoSize.Auto; + button7.BorderWidth = 1F; + button7.IconSvg = "SearchOutlined"; + button7.Location = new Point(3, 56); + button7.Name = "button7"; + button7.Size = new Size(115, 47); + button7.TabIndex = 6; + button7.Text = "Button"; + button7.Click += Btn; + // + // button8 + // + button8.AutoSizeMode = AntdUI.TAutoSize.Auto; + button8.BorderWidth = 1F; + button8.IconPosition = AntdUI.TAlignMini.Right; + button8.Location = new Point(124, 56); + button8.Name = "button8"; + button8.Size = new Size(87, 47); + button8.TabIndex = 7; + button8.Text = "Button"; + button8.Click += Btn; + // + // button3 + // + button3.AutoSizeMode = AntdUI.TAutoSize.Auto; + button3.BorderWidth = 1F; + button3.IconPosition = AntdUI.TAlignMini.Top; + button3.IconSvg = "SearchOutlined"; + button3.LoadingWaveCount = 4; + button3.LoadingWaveSize = 6; + button3.LoadingWaveVertical = true; + button3.Location = new Point(245, 3); + button3.Name = "button3"; + button3.Size = new Size(115, 75); + button3.TabIndex = 2; + button3.Text = "Button"; + button3.Type = AntdUI.TTypeMini.Primary; + button3.Click += Btn; + // + // button4 + // + button4.AutoSizeMode = AntdUI.TAutoSize.Auto; + button4.BorderWidth = 1F; + button4.IconPosition = AntdUI.TAlignMini.Bottom; + button4.IconSvg = "SearchOutlined"; + button4.LoadingWaveCount = 4; + button4.LoadingWaveSize = 6; + button4.LoadingWaveVertical = true; + button4.Location = new Point(366, 3); + button4.Name = "button4"; + button4.Size = new Size(115, 75); + button4.TabIndex = 3; + button4.Text = "Button"; + button4.Type = AntdUI.TTypeMini.Primary; + button4.Click += Btn; + // + // button5 + // + button5.AutoSizeMode = AntdUI.TAutoSize.Auto; + button5.BorderWidth = 1F; + button5.IconPosition = AntdUI.TAlignMini.Top; + button5.IconSvg = "SearchOutlined"; + button5.LoadingWaveCount = 4; + button5.LoadingWaveSize = 6; + button5.LoadingWaveVertical = true; + button5.Location = new Point(487, 3); + button5.Name = "button5"; + button5.Size = new Size(115, 75); + button5.TabIndex = 4; + button5.Text = "Button"; + button5.Click += Btn; + // + // button6 + // + button6.AutoSizeMode = AntdUI.TAutoSize.Auto; + button6.BorderWidth = 1F; + button6.IconPosition = AntdUI.TAlignMini.Bottom; + button6.IconSvg = "SearchOutlined"; + button6.LoadingWaveCount = 4; + button6.LoadingWaveSize = 6; + button6.LoadingWaveVertical = true; + button6.Location = new Point(608, 3); + button6.Name = "button6"; + button6.Size = new Size(115, 75); + button6.TabIndex = 5; + button6.Text = "Button"; + button6.Click += Btn; + // + // Tour + // + Controls.Add(panel_main); + Controls.Add(header1); + Font = new Font("Microsoft YaHei UI", 12F); + Name = "Tour"; + Size = new Size(845, 761); + panel_main.ResumeLayout(false); + panel5.ResumeLayout(false); + panel5.PerformLayout(); + ResumeLayout(false); + } + + #endregion + + private AntdUI.PageHeader header1; + private System.Windows.Forms.Panel panel_main; + private System.Windows.Forms.Panel panel5; + private AntdUI.Button button1; + private AntdUI.Button button2; + private AntdUI.Button button3; + private AntdUI.Button button4; + private AntdUI.Button button7; + private AntdUI.Button button8; + private AntdUI.Button button5; + private AntdUI.Button button6; + } +} \ No newline at end of file diff --git a/example/Demo/Controls/Tour.cs b/example/Demo/Controls/Tour.cs new file mode 100644 index 00000000..048677eb --- /dev/null +++ b/example/Demo/Controls/Tour.cs @@ -0,0 +1,132 @@ +// COPYRIGHT (C) Tom. ALL RIGHTS RESERVED. +// THE AntdUI PROJECT IS AN WINFORM LIBRARY LICENSED UNDER THE Apache-2.0 License. +// LICENSED UNDER THE Apache License, VERSION 2.0 (THE "License") +// YOU MAY NOT USE THIS FILE EXCEPT IN COMPLIANCE WITH THE License. +// YOU MAY OBTAIN A COPY OF THE LICENSE AT +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE +// DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND +// LIMITATIONS UNDER THE License. +// GITEE: https://gitee.com/antdui/AntdUI +// GITHUB: https://github.com/AntdUI/AntdUI +// CSDN: https://blog.csdn.net/v_132 +// QQ: 17379620 + +using System; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace Demo.Controls +{ + public partial class Tour : UserControl + { + Form form; + public Tour(Form _form) + { + form = _form; + InitializeComponent(); + } + + Random random = new Random(); + AntdUI.TourForm tourForm; + private void Btn(object sender, EventArgs e) + { + if (sender == button3) + { + OpenTour(button1); + return; + } + AntdUI.Button btn = (AntdUI.Button)sender; + if (tourForm == null) OpenTour(btn); + else + { + btn.LoadingWaveValue = 0; + if (random.Next(0, 10) > 3) + { + btn.Loading = true; + AntdUI.ITask.Run(() => + { + Thread.Sleep(1000); + for (int i = 0; i < 101; i++) + { + btn.LoadingWaveValue = i / 100F; + Thread.Sleep(20); + } + Thread.Sleep(2000); + }, () => + { + if (btn.IsDisposed) return; + btn.Loading = false; + }); + } + else + { + btn.Loading = true; + AntdUI.ITask.Run(() => + { + Thread.Sleep(2000); + if (btn.IsDisposed) return; + btn.Loading = false; + }); + } + } + } + + void OpenTour(AntdUI.Button btn) + { + if (tourForm == null) + { + Form popover = null; + tourForm = AntdUI.Tour.open(new AntdUI.Tour.Config(form, item => + { + switch (item.Index) + { + case 0: + item.Set(btn); + break; + case 1: + item.Set(button2); + break; + case 2: + item.Set(button7); + break; + case 3: + item.Set(button8); + break; + case 4: + item.Set(button3); + break; + case 5: + item.Set(button4); + break; + case 6: + item.Set(button5); + break; + case 7: + item.Set(button6); + break; + case 8: + var rect = form.ClientRectangle; + item.Set(new Rectangle(rect.X + (rect.Width - 200) / 2, rect.Y + (rect.Height - 200) / 2, 200, 200)); + break; + default: + item.Close(); + tourForm = null; + break; + } + }, info => + { + popover?.Close(); + popover = null; + if (info.Rect.HasValue) popover = AntdUI.Popover.open(new AntdUI.Popover.Config(info.Form, new TourPopover(info, info.Index == 8 ? "DIV Rectangle" : "Button " + (info.Index + 1), "Tour Step " + (info.Index + 1), (info.Index + 1), 9)) { Offset = info.Rect.Value, Focus = false }); + })); + } + else tourForm.Next(); + } + } +} \ No newline at end of file diff --git a/example/Demo/Controls/Tour.resx b/example/Demo/Controls/Tour.resx new file mode 100644 index 00000000..8b2ff64a --- /dev/null +++ b/example/Demo/Controls/Tour.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/example/Demo/Controls/TourPopover.Designer.cs b/example/Demo/Controls/TourPopover.Designer.cs new file mode 100644 index 00000000..55489b07 --- /dev/null +++ b/example/Demo/Controls/TourPopover.Designer.cs @@ -0,0 +1,148 @@ +// COPYRIGHT (C) Tom. ALL RIGHTS RESERVED. +// THE AntdUI PROJECT IS AN WINFORM LIBRARY LICENSED UNDER THE Apache-2.0 License. +// LICENSED UNDER THE Apache License, VERSION 2.0 (THE "License") +// YOU MAY NOT USE THIS FILE EXCEPT IN COMPLIANCE WITH THE License. +// YOU MAY OBTAIN A COPY OF THE LICENSE AT +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE +// DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND +// LIMITATIONS UNDER THE License. +// GITEE: https://gitee.com/antdui/AntdUI +// GITHUB: https://github.com/AntdUI/AntdUI +// CSDN: https://blog.csdn.net/v_132 +// QQ: 17379620 + +using System.Drawing; +using System.Windows.Forms; + +namespace Demo.Controls +{ + partial class TourPopover + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label1 = new AntdUI.Label(); + label2 = new AntdUI.Label(); + label3 = new AntdUI.Label(); + btn_previous = new AntdUI.Button(); + btn_next = new AntdUI.Button(); + panel1 = new AntdUI.Panel(); + panel1.SuspendLayout(); + SuspendLayout(); + // + // label1 + // + label1.Dock = DockStyle.Top; + label1.Font = new Font("Microsoft YaHei UI", 16F, FontStyle.Bold); + label1.Location = new Point(0, 0); + label1.Name = "label1"; + label1.Size = new Size(168, 36); + label1.TabIndex = 0; + // + // label2 + // + label2.BackColor = Color.Transparent; + label2.Dock = DockStyle.Fill; + label2.Location = new Point(0, 0); + label2.Name = "label2"; + label2.Size = new Size(28, 39); + label2.TabIndex = 0; + // + // label3 + // + label3.Dock = DockStyle.Fill; + label3.Font = new Font("Microsoft YaHei UI", 12F); + label3.Location = new Point(0, 36); + label3.Name = "label3"; + label3.Size = new Size(168, 71); + label3.TabIndex = 0; + // + // btn_previous + // + btn_previous.AutoSizeMode = AntdUI.TAutoSize.Width; + btn_previous.BorderWidth = 1F; + btn_previous.Dock = DockStyle.Right; + btn_previous.LocalizationText = "Previous"; + btn_previous.Location = new Point(28, 0); + btn_previous.Name = "btn_previous"; + btn_previous.Size = new Size(70, 39); + btn_previous.TabIndex = 2; + btn_previous.Text = "上一页"; + btn_previous.Click += btn_previous_Click; + // + // btn_next + // + btn_next.AutoSizeMode = AntdUI.TAutoSize.Width; + btn_next.BorderWidth = 1F; + btn_next.Dock = DockStyle.Right; + btn_next.LocalizationText = "Next"; + btn_next.Location = new Point(98, 0); + btn_next.Name = "btn_next"; + btn_next.Size = new Size(70, 39); + btn_next.TabIndex = 1; + btn_next.Text = "下一页"; + btn_next.Type = AntdUI.TTypeMini.Primary; + btn_next.Click += btn_next_Click; + // + // panel1 + // + panel1.Controls.Add(label2); + panel1.Controls.Add(btn_previous); + panel1.Controls.Add(btn_next); + panel1.Dock = DockStyle.Bottom; + panel1.Location = new Point(0, 107); + panel1.Name = "panel1"; + panel1.Radius = 0; + panel1.Size = new Size(168, 39); + panel1.TabIndex = 2; + // + // TourPopover + // + Controls.Add(label3); + Controls.Add(panel1); + Controls.Add(label1); + Name = "TourPopover"; + Size = new Size(168, 146); + panel1.ResumeLayout(false); + panel1.PerformLayout(); + ResumeLayout(false); + } + + #endregion + + private AntdUI.Label label1; + private AntdUI.Label label2; + private AntdUI.Label label3; + private AntdUI.Button btn_previous; + private AntdUI.Button btn_next; + private AntdUI.Panel panel1; + } +} \ No newline at end of file diff --git a/example/Demo/Controls/TourPopover.cs b/example/Demo/Controls/TourPopover.cs new file mode 100644 index 00000000..56026b85 --- /dev/null +++ b/example/Demo/Controls/TourPopover.cs @@ -0,0 +1,51 @@ +// COPYRIGHT (C) Tom. ALL RIGHTS RESERVED. +// THE AntdUI PROJECT IS AN WINFORM LIBRARY LICENSED UNDER THE Apache-2.0 License. +// LICENSED UNDER THE Apache License, VERSION 2.0 (THE "License") +// YOU MAY NOT USE THIS FILE EXCEPT IN COMPLIANCE WITH THE License. +// YOU MAY OBTAIN A COPY OF THE LICENSE AT +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE +// DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND +// LIMITATIONS UNDER THE License. +// GITEE: https://gitee.com/antdui/AntdUI +// GITHUB: https://github.com/AntdUI/AntdUI +// CSDN: https://blog.csdn.net/v_132 +// QQ: 17379620 + +using System; +using System.Windows.Forms; + +namespace Demo.Controls +{ + public partial class TourPopover : UserControl + { + AntdUI.Tour.Popover popover; + public TourPopover(AntdUI.Tour.Popover _popover, string title, string text, int step, int max) + { + popover = _popover; + InitializeComponent(); + label1.Text = title; + label3.Text = text; + label2.Text = step + " / " + max; + if (step == max) + { + btn_next.LocalizationText = "Finish"; + btn_next.Text = ""; + } + btn_previous.Visible = step > 1; + if (btn_previous.Visible) + { + int w1 = (int)(label1.PSize.Width / AntdUI.Config.Dpi), w = (int)((label2.PSize.Width + btn_previous.PSize.Width + btn_next.PSize.Width) / AntdUI.Config.Dpi); + Width = w1 > w ? w1 : w; + } + } + + private void btn_previous_Click(object sender, EventArgs e) => popover.Tour.Previous(); + + private void btn_next_Click(object sender, EventArgs e) => popover.Tour.Next(); + } +} \ No newline at end of file diff --git a/example/Demo/Localizer.cs b/example/Demo/Localizer.cs index 7fd1d488..b71d87a4 100644 --- a/example/Demo/Localizer.cs +++ b/example/Demo/Localizer.cs @@ -74,6 +74,13 @@ namespace Demo case "ScrollBarHidden": return "ScrollBar Hidden Style"; + case "Previous": + return "Previous"; + case "Next": + return "Next"; + case "Finish": + return "Finish"; + //Alert ---------------------------- case "Alert.Text": return "Alert"; @@ -549,6 +556,12 @@ namespace Demo case "Tooltip.label4": return "Simplest usage"; + //Tour ---------------------------- + case "Tour.Text": + return "Tour"; + case "Tour.Description": + return "A popup component for guiding users through a product."; + //Tree ---------------------------- case "Tree.Text": return "Tree"; diff --git a/example/Demo/Overview.cs b/example/Demo/Overview.cs index 2813120c..078dbf03 100644 Binary files a/example/Demo/Overview.cs and b/example/Demo/Overview.cs differ diff --git a/example/Demo/res_dark.Designer.cs b/example/Demo/res_dark.Designer.cs index cc2af360..76a38e69 100644 --- a/example/Demo/res_dark.Designer.cs +++ b/example/Demo/res_dark.Designer.cs @@ -447,6 +447,15 @@ namespace Demo { } } + /// + /// 查找类似 <svg viewBox="0 0 173 102" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新_202311" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---黑" transform="translate(-897.000000, -3969.000000)"><g id="cc3fcbfa-bf5b-4c8c-8a3d-c3f8388c75e8" transform="translate(897.000000, 3969.000000)"><path d="M27.3015827,0.481523055 C27.3793404,0.54817244 27.4518638,0.620695897 27.5185132,0.698453513 L30.0476259,3.64908497 C30.1294246,3.74451681 30.2137064,3.8372747 30.3003347,3.92729583 L1 [字符串的其余部分被截断]"; 的本地化字符串。 + /// + internal static string Tour { + get { + return ResourceManager.GetString("Tour", resourceCulture); + } + } + /// /// 查找类似 <svg viewBox="0 0 96 92" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---黑" transform="translate(-1302.000000, -3974.000000)"><g id="Tree" transform="translate(1302.000000, 3974.000000)"><g id="编组-15"><g id="编组-12" transform="translate(0.000000, 4.556962)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1 [字符串的其余部分被截断]"; 的本地化字符串。 /// diff --git a/example/Demo/res_dark.resx b/example/Demo/res_dark.resx index b692b84f..4a1723a9 100644 --- a/example/Demo/res_dark.resx +++ b/example/Demo/res_dark.resx @@ -246,6 +246,9 @@ <svg viewBox="0 0 118 38" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---黑" transform="translate(-560.000000, -3994.000000)"><g id="DataDisplay/Tooltip/Light/Down⬇️" transform="translate(560.000000, 3994.000000)"><path d="M68.6568542,32 C67.5959883,32 66.5785726,32.4214274 65.8284271,33.1715729 L62.4142136,36.5857864 C61.633165,37.366835 60.366835,37.366835 59.5857864,36.5857864 L56.1715729,33.1715729 C55.4214274,32.4214274 54.4040117,32 53.3431458,32 L7.6916556,32 C5.01709938,32 4.04724067,31.7215232 3.06946289,31.1986019 C2.09168511,30.6756806 1.32431939,29.9083149 0.801398111,28.9305371 C0.278476833,27.9527593 0,26.9829006 0,24.3083444 L0,7.6916556 C0,5.01709938 0.278476833,4.04724067 0.801398111,3.06946289 C1.32431939,2.09168511 2.09168511,1.32431939 3.06946289,0.801398111 C4.04724067,0.278476833 5.01709938,-1.80555915e-16 7.6916556,3.10752092e-16 L110.308344,-3.10752092e-16 C112.982901,1.80555915e-16 113.952759,0.278476833 114.930537,0.801398111 C115.908315,1.32431939 116.675681,2.09168511 117.198602,3.06946289 C117.721523,4.04724067 118,5.01709938 118,7.6916556 L118,24.3083444 C118,26.9829006 117.721523,27.9527593 117.198602,28.9305371 C116.675681,29.9083149 115.908315,30.6756806 114.930537,31.1986019 C113.952759,31.7215232 112.982901,32 110.308344,32 Z" id="形状结合" fill="#434343"></path><text id="Text" font-family="PingFangSC-Regular, PingFang SC" font-size="14" font-weight="normal" line-spacing="22" fill="#FFFFFF"><tspan x="8.495" y="20">|||||||||||||||||||||||||||||||||||||</tspan></text></g></g></g></svg> + + <svg viewBox="0 0 173 102" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新_202311" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---黑" transform="translate(-897.000000, -3969.000000)"><g id="cc3fcbfa-bf5b-4c8c-8a3d-c3f8388c75e8" transform="translate(897.000000, 3969.000000)"><path d="M27.3015827,0.481523055 C27.3793404,0.54817244 27.4518638,0.620695897 27.5185132,0.698453513 L30.0476259,3.64908497 C30.1294246,3.74451681 30.2137064,3.8372747 30.3003347,3.92729583 L165.308344,3.92685477 C167.982901,3.92685477 168.952759,4.20533161 169.930537,4.72825289 C170.908315,5.25117416 171.675681,6.01853989 172.198602,6.99631766 C172.721523,7.97409544 173,8.94395415 173,11.6185104 L173,11.6185104 L173,94.2351992 C173,96.9097554 172.721523,97.8796141 172.198602,98.8573919 C171.675681,99.8351697 170.908315,100.602535 169.930537,101.125457 C168.952759,101.648378 167.982901,101.926855 165.308344,101.926855 L165.308344,101.926855 L7.6916556,101.926855 C5.01709938,101.926855 4.04724067,101.648378 3.06946289,101.125457 C2.09168511,100.602535 1.32431939,99.8351697 0.801398111,98.8573919 C0.278476833,97.8796141 0,96.9097554 0,94.2351992 L0,94.2351992 L0,11.6185104 C0,8.94395415 0.278476833,7.97409544 0.801398111,6.99631766 C1.32431939,6.01853989 2.09168511,5.25117416 3.06946289,4.72825289 C4.04724067,4.20533161 5.01709938,3.92685477 7.6916556,3.92685477 L7.6916556,3.92685477 L21.6996653,3.92729583 C21.7862936,3.8372747 21.8705754,3.74451681 21.9523741,3.64908497 L24.4814868,0.698453513 C25.2003311,-0.140198172 26.4629311,-0.237321247 27.3015827,0.481523055 Z" id="形状结合" fill="#1F1F1F"></path><g id="编组" transform="translate(12.000000, 88.926855)" fill-rule="nonzero"><circle id="椭圆形备份" fill="#1677FF" cx="2" cy="2" r="2"></circle><circle id="椭圆形备份-2" fill-opacity="0.15" fill="#FFFFFF" cx="10" cy="2" r="2"></circle><circle id="椭圆形备份-3" fill-opacity="0.15" fill="#FFFFFF" cx="18" cy="2" r="2"></circle></g><rect id="矩形" stroke-opacity="0.25" stroke="#FFFFFF" x="89" y="79.4268548" width="35" height="15" rx="4"></rect><rect id="矩形备份-12" fill="#1677FF" fill-rule="nonzero" x="130.5" y="78.9268548" width="36" height="16" rx="4"></rect><g id="编组" transform="translate(13.000000, 14.926855)" fill="#FFFFFF" fill-opacity="0.88" fill-rule="nonzero"><rect id="矩形" x="0" y="0" width="1" height="10"></rect><rect id="矩形备份" x="3" y="0" width="1" height="10"></rect><rect id="矩形备份-2" x="6" y="0" width="1" height="10"></rect><rect id="矩形备份-3" x="9" y="0" width="1" height="10"></rect><rect id="矩形备份-4" x="12" y="0" width="1" height="10"></rect><rect id="矩形备份-5" x="15" y="0" width="1" height="10"></rect><rect id="矩形备份-6" x="18" y="0" width="1" height="10"></rect><rect id="矩形备份-7" x="21" y="0" width="1" height="10"></rect><rect id="矩形备份-8" x="24" y="0" width="1" height="10"></rect><rect id="矩形备份-9" x="27" y="0" width="1" height="10"></rect><rect id="矩形备份-10" x="30" y="0" width="1" height="10"></rect><rect id="矩形备份-11" x="33" y="0" width="1" height="10"></rect></g><g id="Icon/Close" transform="translate(154.000000, 13.926855)" fill-rule="nonzero"><rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="10" height="10"></rect><path d="M5.50585937,5 L8.06933594,1.94433594 C8.11230469,1.89355469 8.07617187,1.81640625 8.00976562,1.81640625 L7.23046875,1.81640625 C7.18457031,1.81640625 7.140625,1.83691406 7.11035156,1.87207031 L4.99609375,4.39257812 L2.88183594,1.87207031 C2.85253906,1.83691406 2.80859375,1.81640625 2.76171875,1.81640625 L1.98242187,1.81640625 C1.91601562,1.81640625 1.87988281,1.89355469 1.92285156,1.94433594 L4.48632812,5 L1.92285156,8.05566406 C1.87988281,8.10644531 1.91601562,8.18359375 1.98242187,8.18359375 L2.76171875,8.18359375 C2.80761719,8.18359375 2.8515625,8.16308594 2.88183594,8.12792969 L4.99609375,5.60742187 L7.11035156,8.12792969 C7.13964844,8.16308594 7.18359375,8.18359375 7.23046875,8.18359375 L8.00976562,8.18359375 C8.07617187,8.18359375 8.11230469,8.10644531 8.06933594,8.05566406 L5.50585937,5 Z" id="路径" fill="#FFFFFF"></path></g><rect id="矩形" fill-opacity="0.15" fill="#FFFFFF" fill-rule="nonzero" opacity="0.999255952" x="12" y="35.9268548" width="142" height="10" rx="1"></rect><rect id="矩形备份-13" fill-opacity="0.15" fill="#FFFFFF" fill-rule="nonzero" opacity="0.999255952" x="12" y="51.9268548" width="71" height="10" rx="1"></rect></g></g></g></svg> + <svg viewBox="0 0 96 92" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---黑" transform="translate(-1302.000000, -3974.000000)"><g id="Tree" transform="translate(1302.000000, 3974.000000)"><g id="编组-15"><g id="编组-12" transform="translate(0.000000, 4.556962)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.49625892 4.3073549,1.58717625 L1.56174605,4.76344426 C1.45974718,4.88188703 1.55171337,5.05538066 1.71641646,5.05538066 L7.20763417,5.05538066 C7.37233726,5.05538066 7.46430345,4.88188703 7.36230459,4.76344426 Z" id="Path" fill-opacity="0.65" fill="#FFFFFF" fill-rule="nonzero" transform="translate(4.462025, 3.287184) scale(-1, 1) rotate(-180.000000) translate(-4.462025, -3.287184) "></path></g><text id="|||||||||||||||" fill-opacity="0.65" fill="#FFFFFF" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="29" y="11">|||||||||||||||</tspan></text><g id="3.DataEntry/Checkbox#" transform="translate(15.000000, 3.000000)" fill-rule="nonzero"><g id="7.Icon/control/checkbox/Checked-"><g id="icon/z/checkboxChecked-Copy" fill="#1677FF"><rect id="box" x="0" y="0" width="8" height="8" rx="1.14285714"></rect></g><g id="check" transform="translate(1.500000, 1.500000)"><rect id="Rectangle" fill="#000000" opacity="0" x="0" y="0" width="5" height="5"></rect><path d="M4.73214286,0.703125 L4.34207589,0.703125 C4.28738839,0.703125 4.23549107,0.728236607 4.20200893,0.771205357 L1.90122768,3.68582589 L0.797991071,2.28794643 C0.763950893,2.24497768 0.712611607,2.21986607 0.657924107,2.21986607 L0.267857143,2.21986607 C0.23046875,2.21986607 0.209821429,2.26283482 0.232700893,2.29185268 L1.76116071,4.22823661 C1.83258929,4.31863839 1.96986607,4.31863839 2.04185268,4.22823661 L4.76729911,0.774553571 C4.79017857,0.74609375 4.76953125,0.703125 4.73214286,0.703125 Z" id="Path" stroke="#FFFFFF" stroke-width="0.5" fill="#FFFFFF"></path></g></g></g></g><g id="编组-15备份" transform="translate(15.000000, 61.000000)"><g id="编组-12" transform="translate(0.000000, 4.556962)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.49625892 4.3073549,1.58717625 L1.56174605,4.76344426 C1.45974718,4.88188703 1.55171337,5.05538066 1.71641646,5.05538066 L7.20763417,5.05538066 C7.37233726,5.05538066 7.46430345,4.88188703 7.36230459,4.76344426 Z" id="Path" fill-opacity="0.65" fill="#FFFFFF" fill-rule="nonzero" transform="translate(4.462025, 3.287184) scale(-1, 1) rotate(-180.000000) translate(-4.462025, -3.287184) "></path></g><g id="|||||||||||||||" transform="translate(29.000000, 0.000000)" fill="#FFFFFF" fill-opacity="0.65" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><text><tspan x="0" y="11">|||||||||||||||</tspan></text></g><g id="3.DataEntry/Checkbox#" transform="translate(15.000000, 3.000000)" fill-rule="nonzero"><g id="7.Icon/control/checkbox/Checked-"><g id="icon/z/checkboxChecked-Copy" fill="#1677FF"><rect id="box" x="0" y="0" width="8" height="8" rx="1.14285714"></rect></g><g id="check" transform="translate(1.500000, 1.500000)"><rect id="Rectangle" fill="#000000" opacity="0" x="0" y="0" width="5" height="5"></rect><path d="M4.73214286,0.703125 L4.34207589,0.703125 C4.28738839,0.703125 4.23549107,0.728236607 4.20200893,0.771205357 L1.90122768,3.68582589 L0.797991071,2.28794643 C0.763950893,2.24497768 0.712611607,2.21986607 0.657924107,2.21986607 L0.267857143,2.21986607 C0.23046875,2.21986607 0.209821429,2.26283482 0.232700893,2.29185268 L1.76116071,4.22823661 C1.83258929,4.31863839 1.96986607,4.31863839 2.04185268,4.22823661 L4.76729911,0.774553571 C4.79017857,0.74609375 4.76953125,0.703125 4.73214286,0.703125 Z" id="Path" stroke="#FFFFFF" stroke-width="0.5" fill="#FFFFFF"></path></g></g></g></g><text id="|||||||||||||||" fill="#1677FF" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="59" y="88">|||||||||||||||</tspan></text><g id="3.DataEntry/Checkbox#" transform="translate(45.000000, 80.000000)" fill-rule="nonzero"><g id="7.Icon/control/checkbox/Checked-"><g id="icon/z/checkboxChecked-Copy" fill="#1677FF"><rect id="box" x="0" y="0" width="8" height="8" rx="1.14285714"></rect></g><g id="check" transform="translate(1.500000, 1.500000)"><rect id="Rectangle" fill="#000000" opacity="0" x="0" y="0" width="5" height="5"></rect><path d="M4.73214286,0.703125 L4.34207589,0.703125 C4.28738839,0.703125 4.23549107,0.728236607 4.20200893,0.771205357 L1.90122768,3.68582589 L0.797991071,2.28794643 C0.763950893,2.24497768 0.712611607,2.21986607 0.657924107,2.21986607 L0.267857143,2.21986607 C0.23046875,2.21986607 0.209821429,2.26283482 0.232700893,2.29185268 L1.76116071,4.22823661 C1.83258929,4.31863839 1.96986607,4.31863839 2.04185268,4.22823661 L4.76729911,0.774553571 C4.79017857,0.74609375 4.76953125,0.703125 4.73214286,0.703125 Z" id="Path" stroke="#FFFFFF" stroke-width="0.5" fill="#FFFFFF"></path></g></g></g><g id="编组-12备份" transform="translate(15.000000, 19.000000)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.49625892 4.3073549,1.58717625 L1.56174605,4.76344426 C1.45974718,4.88188703 1.55171337,5.05538066 1.71641646,5.05538066 L7.20763417,5.05538066 C7.37233726,5.05538066 7.46430345,4.88188703 7.36230459,4.76344426 Z" id="Path" fill-opacity="0.65" fill="#FFFFFF" fill-rule="nonzero" transform="translate(4.462025, 3.287184) scale(-1, 1) rotate(-180.000000) translate(-4.462025, -3.287184) "></path></g><text id="||||||||||||||||||" fill-opacity="0.1" fill="#FFFFFF" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="44" y="26">||||||||||||||||||</tspan></text><text id="||||||||||||||||||" fill-opacity="0.1" fill="#FFFFFF" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="58" y="41">||||||||||||||||||</tspan></text><g id="编组-13备份-2" transform="translate(58.000000, 45.569620)" fill="#FFFFFF" fill-opacity="0.65" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><g id="|||||||||||||||||"><text><tspan x="5.55111512e-17" y="11">|||||||||||||||||</tspan></text></g></g><g id="icon/z/checkboxChecked-Copy" transform="translate(30.000000, 18.000000)"><rect id="box" stroke-opacity="0.2" stroke="#FFFFFF" stroke-width="0.8" fill-opacity="0.08" fill="#FFFFFF" x="0.4" y="0.4" width="9.2" height="9.2" rx="1"></rect><path d="M7.23214286,3.203125 L6.84207589,3.203125 C6.78738839,3.203125 6.73549107,3.22823661 6.70200893,3.27120536 L4.40122768,6.18582589 L3.29799107,4.78794643 C3.26395089,4.74497768 3.21261161,4.71986607 3.15792411,4.71986607 L2.76785714,4.71986607 C2.73046875,4.71986607 2.70982143,4.76283482 2.73270089,4.79185268 L4.26116071,6.72823661 C4.33258929,6.81863839 4.46986607,6.81863839 4.54185268,6.72823661 L7.26729911,3.27455357 C7.29017857,3.24609375 7.26953125,3.203125 7.23214286,3.203125 Z" id="Path备份" stroke="#515151" stroke-width="0.5" fill="#515151" fill-rule="nonzero"></path></g><g id="编组-14备份" transform="translate(44.000000, 33.000000)" stroke="#FFFFFF" stroke-opacity="0.2" stroke-width="0.8"><g id="icon/z/checkboxChecked-Copy"><rect id="box" x="0.4" y="0.4" width="8.2" height="8.2" rx="1"></rect></g></g><g id="编组-14备份-2" transform="translate(44.000000, 49.000000)" stroke="#FFFFFF" stroke-opacity="0.2" stroke-width="0.8"><rect id="box" x="0.4" y="0.4" width="8.2" height="8.2" rx="0.5"></rect></g></g></g></g></svg> diff --git a/example/Demo/res_light.Designer.cs b/example/Demo/res_light.Designer.cs index 54204f93..14c95043 100644 --- a/example/Demo/res_light.Designer.cs +++ b/example/Demo/res_light.Designer.cs @@ -447,6 +447,15 @@ namespace Demo { } } + /// + /// 查找类似 <svg viewBox="0 0 175 104" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新_202311" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---白" transform="translate(-896.000000, -3968.000000)" fill-rule="nonzero"><g id="cc3fcbfa-bf5b-4c8c-8a3d-c3f8388c75e8" transform="translate(897.000000, 3969.000000)"><path d="M27.3015827,0.481523055 C27.3793404,0.54817244 27.4518638,0.620695897 27.5185132,0.698453513 L30.0476259,3.64908497 C30.1294246,3.74451681 30.2137064,3.8372747 30.3 [字符串的其余部分被截断]"; 的本地化字符串。 + /// + internal static string Tour { + get { + return ResourceManager.GetString("Tour", resourceCulture); + } + } + /// /// 查找类似 <svg viewBox="0 0 91 92" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版" transform="translate(-1302.000000, -3974.000000)"><g id="Tree" transform="translate(1302.000000, 3974.000000)"><g id="编组-15"><g id="编组-12" transform="translate(0.000000, 4.556962)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.496 [字符串的其余部分被截断]"; 的本地化字符串。 /// diff --git a/example/Demo/res_light.resx b/example/Demo/res_light.resx index 04c64b76..6728dfc3 100644 --- a/example/Demo/res_light.resx +++ b/example/Demo/res_light.resx @@ -246,6 +246,9 @@ <svg viewBox="0 0 176 94" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M68.6568542,32 C67.5959883,32 66.5785726,32.4214274 65.8284271,33.1715729 L62.4142136,36.5857864 C61.633165,37.366835 60.366835,37.366835 59.5857864,36.5857864 L56.1715729,33.1715729 C55.4214274,32.4214274 54.4040117,32 53.3431458,32 L7.6916556,32 C5.01709938,32 4.04724067,31.7215232 3.06946289,31.1986019 C2.09168511,30.6756806 1.32431939,29.9083149 0.801398111,28.9305371 C0.278476833,27.9527593 0,26.9829006 0,24.3083444 L0,7.6916556 C0,5.01709938 0.278476833,4.04724067 0.801398111,3.06946289 C1.32431939,2.09168511 2.09168511,1.32431939 3.06946289,0.801398111 C4.04724067,0.278476833 5.01709938,-1.80555915e-16 7.6916556,3.10752092e-16 L110.308344,-3.10752092e-16 C112.982901,1.80555915e-16 113.952759,0.278476833 114.930537,0.801398111 C115.908315,1.32431939 116.675681,2.09168511 117.198602,3.06946289 C117.721523,4.04724067 118,5.01709938 118,7.6916556 L118,24.3083444 C118,26.9829006 117.721523,27.9527593 117.198602,28.9305371 C116.675681,29.9083149 115.908315,30.6756806 114.930537,31.1986019 C113.952759,31.7215232 112.982901,32 110.308344,32 Z" id="path-1"></path><filter x="-49.6%" y="-133.2%" width="199.2%" height="414.8%" filterUnits="objectBoundingBox" id="filter-2"><feMorphology radius="4" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology><feOffset dx="0" dy="9"></feOffset><feGaussianBlur stdDeviation="14"></feGaussianBlur><feComposite in2="SourceAlpha" operator="out"></feComposite><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0" type="matrix"></feColorMatrix><feOffset dx="0" dy="6" in="SourceAlpha" result="shadowOffsetOuter2"></feOffset><feGaussianBlur stdDeviation="8" in="shadowOffsetOuter2" result="shadowBlurOuter2"></feGaussianBlur><feComposite in="shadowBlurOuter2" in2="SourceAlpha" operator="out" result="shadowBlurOuter2"></feComposite><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0" type="matrix" in="shadowBlurOuter2" result="shadowMatrixOuter2"></feColorMatrix><feMorphology radius="2" operator="erode" in="SourceAlpha"></feMorphology><feOffset dx="0" dy="3" result="shadowOffsetOuter3"></feOffset><feGaussianBlur stdDeviation="3" in="shadowOffsetOuter3" result="shadowBlurOuter3"></feGaussianBlur><feComposite in="shadowBlurOuter3" in2="SourceAlpha" operator="out" result="shadowBlurOuter3"></feComposite><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" type="matrix" in="shadowBlurOuter3" result="shadowMatrixOuter3"></feColorMatrix><feMerge><feMergeNode></feMergeNode><feMergeNode in="shadowMatrixOuter2"></feMergeNode><feMergeNode in="shadowMatrixOuter3"></feMergeNode></feMerge></filter></defs><g id="组件骨架图更新" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版" transform="translate(-531.000000, -3973.000000)"><g id="DataDisplay/Tooltip/Light/Down⬇️" transform="translate(560.000000, 3994.000000)"><g id="形状结合"><use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use><use fill-opacity="0.75" fill="#000000" fill-rule="evenodd" xlink:href="#path-1"></use></g><text id="Text" font-family="PingFangSC-Regular, PingFang SC" font-size="14" font-weight="normal" line-spacing="22" fill="#FFFFFF"><tspan x="8.495" y="20">|||||||||||||||||||||||||||||||||||||</tspan></text></g></g></g></svg> + + <svg viewBox="0 0 175 104" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新_202311" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版---白" transform="translate(-896.000000, -3968.000000)" fill-rule="nonzero"><g id="cc3fcbfa-bf5b-4c8c-8a3d-c3f8388c75e8" transform="translate(897.000000, 3969.000000)"><path d="M27.3015827,0.481523055 C27.3793404,0.54817244 27.4518638,0.620695897 27.5185132,0.698453513 L30.0476259,3.64908497 C30.1294246,3.74451681 30.2137064,3.8372747 30.3003347,3.92729583 L165.308344,3.92685477 C167.982901,3.92685477 168.952759,4.20533161 169.930537,4.72825289 C170.908315,5.25117416 171.675681,6.01853989 172.198602,6.99631766 C172.721523,7.97409544 173,8.94395415 173,11.6185104 L173,11.6185104 L173,94.2351992 C173,96.9097554 172.721523,97.8796141 172.198602,98.8573919 C171.675681,99.8351697 170.908315,100.602535 169.930537,101.125457 C168.952759,101.648378 167.982901,101.926855 165.308344,101.926855 L165.308344,101.926855 L7.6916556,101.926855 C5.01709938,101.926855 4.04724067,101.648378 3.06946289,101.125457 C2.09168511,100.602535 1.32431939,99.8351697 0.801398111,98.8573919 C0.278476833,97.8796141 0,96.9097554 0,94.2351992 L0,94.2351992 L0,11.6185104 C0,8.94395415 0.278476833,7.97409544 0.801398111,6.99631766 C1.32431939,6.01853989 2.09168511,5.25117416 3.06946289,4.72825289 C4.04724067,4.20533161 5.01709938,3.92685477 7.6916556,3.92685477 L7.6916556,3.92685477 L21.6996653,3.92729583 C21.7862936,3.8372747 21.8705754,3.74451681 21.9523741,3.64908497 L24.4814868,0.698453513 C25.2003311,-0.140198172 26.4629311,-0.237321247 27.3015827,0.481523055 Z" id="形状结合" stroke="#F0F0F0" fill="#FFFFFF"></path><g id="编组" transform="translate(12.000000, 88.926855)"><circle id="椭圆形备份" fill="#1677FF" cx="2" cy="2" r="2"></circle><circle id="椭圆形备份-2" fill-opacity="0.15" fill="#000000" cx="10" cy="2" r="2"></circle><circle id="椭圆形备份-3" fill-opacity="0.15" fill="#000000" cx="18" cy="2" r="2"></circle></g><rect id="矩形" stroke="#F0F0F0" fill="#FFFFFF" x="88.5" y="78.9268548" width="36" height="16" rx="4"></rect><rect id="矩形备份-12" fill="#1677FF" x="130.5" y="78.9268548" width="36" height="16" rx="4"></rect><g id="编组" transform="translate(13.000000, 14.926855)" fill="#000000" fill-opacity="0.88"><rect id="矩形" x="0" y="0" width="1" height="10"></rect><rect id="矩形备份" x="3" y="0" width="1" height="10"></rect><rect id="矩形备份-2" x="6" y="0" width="1" height="10"></rect><rect id="矩形备份-3" x="9" y="0" width="1" height="10"></rect><rect id="矩形备份-4" x="12" y="0" width="1" height="10"></rect><rect id="矩形备份-5" x="15" y="0" width="1" height="10"></rect><rect id="矩形备份-6" x="18" y="0" width="1" height="10"></rect><rect id="矩形备份-7" x="21" y="0" width="1" height="10"></rect><rect id="矩形备份-8" x="24" y="0" width="1" height="10"></rect><rect id="矩形备份-9" x="27" y="0" width="1" height="10"></rect><rect id="矩形备份-10" x="30" y="0" width="1" height="10"></rect><rect id="矩形备份-11" x="33" y="0" width="1" height="10"></rect></g><g id="Icon/Close" transform="translate(154.000000, 13.926855)" fill="#000000"><rect id="矩形" opacity="0" x="0" y="0" width="10" height="10"></rect><path d="M5.50585937,5 L8.06933594,1.94433594 C8.11230469,1.89355469 8.07617187,1.81640625 8.00976562,1.81640625 L7.23046875,1.81640625 C7.18457031,1.81640625 7.140625,1.83691406 7.11035156,1.87207031 L4.99609375,4.39257812 L2.88183594,1.87207031 C2.85253906,1.83691406 2.80859375,1.81640625 2.76171875,1.81640625 L1.98242187,1.81640625 C1.91601562,1.81640625 1.87988281,1.89355469 1.92285156,1.94433594 L4.48632812,5 L1.92285156,8.05566406 C1.87988281,8.10644531 1.91601562,8.18359375 1.98242187,8.18359375 L2.76171875,8.18359375 C2.80761719,8.18359375 2.8515625,8.16308594 2.88183594,8.12792969 L4.99609375,5.60742187 L7.11035156,8.12792969 C7.13964844,8.16308594 7.18359375,8.18359375 7.23046875,8.18359375 L8.00976562,8.18359375 C8.07617187,8.18359375 8.11230469,8.10644531 8.06933594,8.05566406 L5.50585937,5 Z" id="路径"></path></g><rect id="矩形" fill="#EBEBEB" x="12" y="35.9268548" width="142" height="10" rx="1"></rect><rect id="矩形备份-13" fill="#EBEBEB" x="12" y="51.9268548" width="71" height="10" rx="1"></rect></g></g></g></svg> + <svg viewBox="0 0 91 92" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="组件骨架图更新" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="🎉-5.0-新版" transform="translate(-1302.000000, -3974.000000)"><g id="Tree" transform="translate(1302.000000, 3974.000000)"><g id="编组-15"><g id="编组-12" transform="translate(0.000000, 4.556962)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.49625892 4.3073549,1.58717625 L1.56174605,4.76344426 C1.45974718,4.88188703 1.55171337,5.05538066 1.71641646,5.05538066 L7.20763417,5.05538066 C7.37233726,5.05538066 7.46430345,4.88188703 7.36230459,4.76344426 Z" id="Path" fill-opacity="0.65" fill="#000000" fill-rule="nonzero" transform="translate(4.462025, 3.287184) scale(-1, 1) rotate(-180.000000) translate(-4.462025, -3.287184) "></path></g><text id="|||||||||||||||" fill-opacity="0.65" fill="#000000" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="29" y="11">|||||||||||||||</tspan></text><g id="3.DataEntry/Checkbox#" transform="translate(15.000000, 3.000000)" fill-rule="nonzero"><g id="7.Icon/control/checkbox/Checked-"><g id="icon/z/checkboxChecked-Copy" fill="#1677FF"><rect id="box" x="0" y="0" width="8" height="8" rx="1.14285714"></rect></g><g id="check" transform="translate(1.500000, 1.500000)"><rect id="Rectangle" fill="#000000" opacity="0" x="0" y="0" width="5" height="5"></rect><path d="M4.73214286,0.703125 L4.34207589,0.703125 C4.28738839,0.703125 4.23549107,0.728236607 4.20200893,0.771205357 L1.90122768,3.68582589 L0.797991071,2.28794643 C0.763950893,2.24497768 0.712611607,2.21986607 0.657924107,2.21986607 L0.267857143,2.21986607 C0.23046875,2.21986607 0.209821429,2.26283482 0.232700893,2.29185268 L1.76116071,4.22823661 C1.83258929,4.31863839 1.96986607,4.31863839 2.04185268,4.22823661 L4.76729911,0.774553571 C4.79017857,0.74609375 4.76953125,0.703125 4.73214286,0.703125 Z" id="Path" stroke="#FFFFFF" stroke-width="0.5" fill="#FFFFFF"></path></g></g></g></g><g id="编组-15备份" transform="translate(15.000000, 61.000000)"><g id="编组-12" transform="translate(0.000000, 4.556962)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.49625892 4.3073549,1.58717625 L1.56174605,4.76344426 C1.45974718,4.88188703 1.55171337,5.05538066 1.71641646,5.05538066 L7.20763417,5.05538066 C7.37233726,5.05538066 7.46430345,4.88188703 7.36230459,4.76344426 Z" id="Path" fill-opacity="0.65" fill="#000000" fill-rule="nonzero" transform="translate(4.462025, 3.287184) scale(-1, 1) rotate(-180.000000) translate(-4.462025, -3.287184) "></path></g><g id="|||||||||||||||" transform="translate(29.000000, 0.000000)" fill="#000000" fill-opacity="0.65" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><text><tspan x="0" y="11">|||||||||||||||</tspan></text></g><g id="3.DataEntry/Checkbox#" transform="translate(15.000000, 3.000000)" fill-rule="nonzero"><g id="7.Icon/control/checkbox/Checked-"><g id="icon/z/checkboxChecked-Copy" fill="#1677FF"><rect id="box" x="0" y="0" width="8" height="8" rx="1.14285714"></rect></g><g id="check" transform="translate(1.500000, 1.500000)"><rect id="Rectangle" fill="#000000" opacity="0" x="0" y="0" width="5" height="5"></rect><path d="M4.73214286,0.703125 L4.34207589,0.703125 C4.28738839,0.703125 4.23549107,0.728236607 4.20200893,0.771205357 L1.90122768,3.68582589 L0.797991071,2.28794643 C0.763950893,2.24497768 0.712611607,2.21986607 0.657924107,2.21986607 L0.267857143,2.21986607 C0.23046875,2.21986607 0.209821429,2.26283482 0.232700893,2.29185268 L1.76116071,4.22823661 C1.83258929,4.31863839 1.96986607,4.31863839 2.04185268,4.22823661 L4.76729911,0.774553571 C4.79017857,0.74609375 4.76953125,0.703125 4.73214286,0.703125 Z" id="Path" stroke="#FFFFFF" stroke-width="0.5" fill="#FFFFFF"></path></g></g></g></g><text id="|||||||||||||||" fill="#1677FF" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="59" y="88">|||||||||||||||</tspan></text><g id="3.DataEntry/Checkbox#" transform="translate(45.000000, 80.000000)" fill-rule="nonzero"><g id="7.Icon/control/checkbox/Checked-"><g id="icon/z/checkboxChecked-Copy" fill="#1677FF"><rect id="box" x="0" y="0" width="8" height="8" rx="1.14285714"></rect></g><g id="check" transform="translate(1.500000, 1.500000)"><rect id="Rectangle" fill="#000000" opacity="0" x="0" y="0" width="5" height="5"></rect><path d="M4.73214286,0.703125 L4.34207589,0.703125 C4.28738839,0.703125 4.23549107,0.728236607 4.20200893,0.771205357 L1.90122768,3.68582589 L0.797991071,2.28794643 C0.763950893,2.24497768 0.712611607,2.21986607 0.657924107,2.21986607 L0.267857143,2.21986607 C0.23046875,2.21986607 0.209821429,2.26283482 0.232700893,2.29185268 L1.76116071,4.22823661 C1.83258929,4.31863839 1.96986607,4.31863839 2.04185268,4.22823661 L4.76729911,0.774553571 C4.79017857,0.74609375 4.76953125,0.703125 4.73214286,0.703125 Z" id="Path" stroke="#FFFFFF" stroke-width="0.5" fill="#FFFFFF"></path></g></g></g><g id="编组-12备份" transform="translate(15.000000, 19.000000)"><rect id="矩形" x="0" y="0" width="9.11392405" height="6.07594937"></rect><path d="M7.36230459,4.76344426 L4.61669573,1.58717625 C4.53810644,1.49625892 4.38678025,1.49625892 4.3073549,1.58717625 L1.56174605,4.76344426 C1.45974718,4.88188703 1.55171337,5.05538066 1.71641646,5.05538066 L7.20763417,5.05538066 C7.37233726,5.05538066 7.46430345,4.88188703 7.36230459,4.76344426 Z" id="Path" fill-opacity="0.65" fill="#000000" fill-rule="nonzero" transform="translate(4.462025, 3.287184) scale(-1, 1) rotate(-180.000000) translate(-4.462025, -3.287184) "></path></g><text id="||||||||||||||||||" fill-opacity="0.1" fill="#000000" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="44" y="26">||||||||||||||||||</tspan></text><text id="||||||||||||||||||" fill-opacity="0.1" fill="#000000" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><tspan x="53" y="41">||||||||||||||||||</tspan></text><g id="编组-13备份-2" transform="translate(53.000000, 45.569620)" fill="#000000" fill-opacity="0.65" fill-rule="nonzero" font-family="PingFangSC-Regular, PingFang SC" font-size="10.6329114" font-weight="normal"><g id="|||||||||||||||||"><text><tspan x="5.55111512e-17" y="11">|||||||||||||||||</tspan></text></g></g><g id="编组-14" transform="translate(30.000000, 19.000000)" fill-rule="nonzero"><g id="icon/z/checkboxChecked-Copy" fill="#F4F4F4" stroke="#DEDEDE"><rect id="box" x="0" y="0" width="8" height="8" rx="0.5"></rect></g><path d="M6.50901884,2 L6.11895187,2 C6.06426437,2 6.01236705,2.02511161 5.97888491,2.06808036 L3.67810366,4.98270089 L2.57486705,3.58482143 C2.54082687,3.54185268 2.48948759,3.51674107 2.43480009,3.51674107 L2.04473312,3.51674107 C2.00734473,3.51674107 1.98669741,3.55970982 2.00957687,3.58872768 L3.53803669,5.52511161 C3.60946527,5.61551339 3.74674205,5.61551339 3.81872866,5.52511161 L6.54417509,2.07142857 C6.56705455,2.04296875 6.54640723,2 6.50901884,2 Z" id="Path" stroke="#B8B8B8" fill="#BABABA"></path></g><g id="编组-14备份" transform="translate(40.000000, 34.000000)" fill="#F4F4F4" fill-rule="nonzero" stroke="#DEDEDE" stroke-width="0.5"><g id="icon/z/checkboxChecked-Copy"><rect id="box" x="0" y="0" width="8" height="8" rx="0.5"></rect></g></g><g id="编组-14备份-2" transform="translate(40.000000, 49.000000)" fill="#FFFFFF" fill-rule="nonzero" stroke="#DEDEDE" stroke-width="0.5"><g id="icon/z/checkboxChecked-Copy"><rect id="box" x="0" y="0" width="8" height="8" rx="0.5"></rect></g></g></g></g></g></svg>