/// <summary>
        /// 从文件加载
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public static IScriptLayout LoadOne(string filename)
        {
            string        exname = filename.Split('.').Last();
            IScriptLayout script = null;

            foreach (var item in exName)
            {
                if (item.Value == exname)
                {
                    //if(item.Key == typeof(MainLayout).Name)
                    //{
                    //    script = new MainLayout();
                    //}
                    if (item.Key == typeof(StackingMainLayout).Name)
                    {
                        //script = new StackingMainLayout();
                    }
                }
            }
            if (script == null)
            {
                return(null);
            }
            script.LoadFromJson(filename);
            return(script);
        }
        /// <summary>
        /// 加载脚本
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Load_Click(object sender, RoutedEventArgs e)
        {
            System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
            openFileDialog.Filter = "脚本项目文件 (*.sProject)|*.sProject";
            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ScriptConfig = JsonConvert.DeserializeObject <ScriptConfig>(openFileDialog.FileName.GetStringFromFile());

                string path = System.IO.Path.GetDirectoryName(openFileDialog.FileName);
                foreach (var item in ScriptConfig.ScriptFiles)
                {
                    IScriptLayout scriptLayout = new IScriptLayout();
                    scriptLayout.LoadFromJson(System.IO.Path.Combine(path, item + ".script"));
                    scriptContent.ScriptControl.AddScript(StackingMainLayout.InstanceStackingMainLayout(scriptLayout));
                }
            }
        }
        /// <summary>
        /// 加载脚本
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Load_Script(object sender, RoutedEventArgs e)
        {
            System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
            openFileDialog.Filter = "脚本项目文件 (*.sProject)|*.sProject";
            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ScriptConfig = JsonConvert.DeserializeObject <ScriptConfig>(openFileDialog.FileName.GetStringFromFile());

                string path = System.IO.Path.GetDirectoryName(openFileDialog.FileName);
                projectPath = System.IO.Path.GetDirectoryName(openFileDialog.FileName);
                foreach (var item in ScriptConfig.ScriptFiles)
                {
                    IScriptLayout scriptLayout = new IScriptLayout();
                    scriptLayout.LoadFromJson(System.IO.Path.Combine(path, item + ".script"));
                    scriptLayout.ComipleMessageCall += logBox.WritLog;
                    ScriptLayouts.Add(scriptLayout);
                }
                //加载任务
                if (System.IO.File.Exists(System.IO.Path.Combine(projectPath, "projectTask.task")))
                {
                    ObservableCollection <ScriptTask> scriptTasks = Newtonsoft.Json.JsonConvert.
                                                                    DeserializeObject <ObservableCollection <ScriptTask> >(System.IO.Path.Combine(projectPath, "projectTask.task")
                                                                                                                           .GetStringFromFile());
                    foreach (var listitem in scriptTasks)
                    {
                        foreach (var item in listitem.TaskItems)
                        {
                            IScriptLayout script = ScriptLayouts.FindOne(p => p.ScriptName == item.ScriptName);
                            if (script != null)
                            {
                                item.ScriptLayout = script;
                            }
                        }
                        TaskItems.Add(listitem);
                    }
                    scriptTasks.Clear();
                    scriptTasks = null;
                }
            }
        }