/// <summary> /// 结构函数 /// </summary> public XtnCtrBoxs() { InitializeComponent(); lbControls.SelectionChanged += lbControls_SelectionChanged; InitLoadControl(); TempletConfig = ParseControlTemplate.GetControlTempletConfig("UserControl"); }
/// <summary> /// 创建控件 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="controlType"></param> /// <returns></returns> public static T CreateCtrl <T>(string controlType) where T : FrameworkElement { List <String> assItem = new List <string>(); assItem.AddRange(ParseControlTemplate.GetControlTempletConfig("UserControl").AssemblyCollection); ControlConfig config = ParseControlConfig.GetControlConfig(controlType); //-->判断是不是复合控件 if (config.IsCompositeCtrl && !config.AssemblyQualifiedName.IsNullOrEmpty()) { assItem.Add(config.AssemblyQualifiedName.Trim()); } string ass = string.Join(" ", assItem); ass = string.Format(config.xaml, ass); ass = ass.Replace("??", config.Name + DateTime.Now.ToString("ffffff")); ass = ass.Trim(); T tt = LoadXaml <T>(ass); tt.Tag = config; return(tt); }