コード例 #1
0
        /// <summary>
        /// 结构函数
        /// </summary>
        public XtnCtrBoxs()
        {
            InitializeComponent();

            lbControls.SelectionChanged += lbControls_SelectionChanged;

            InitLoadControl();

            TempletConfig = ParseControlTemplate.GetControlTempletConfig("UserControl");
        }
コード例 #2
0
        /// <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);
        }