private void componentCbx_SelectedIndexChanged(object sender, EventArgs e) { VisualComponentItem item = componentCbx.SelectedItem as VisualComponentItem; if (item.Instance == null) { item.Instance = Activator.CreateInstance(item.Type) as UXComponent; item.Instance.Name = ViewHelper.GetDefaultComponentName(ComponentNames, item.Type); object[] attributes = item.Type.GetCustomAttributes(typeof(VisualDesignerAttribute), false); if (attributes != null) { GenericMapper.Map((VisualDesignerAttribute)attributes[0], item.Instance); } } if (UXComponent != null) { GenericMapper.Map(UXComponent, item.Instance); } if (item.Instance is UXServiceComponent && (serviceMethod != null || componentMap != null)) { ((UXServiceComponent)item.Instance).ServiceMethod = serviceMethod; ((UXServiceComponent)item.Instance).ComponentMap = componentMap; } UXComponent = item.Instance; propertyGrid.SelectedObject = UXComponent; EnableDisableButtons(); }
private void PopulateComponentTypes() { componentCbx.Items.Clear(); componentCbx.DisplayMember = "Name"; Assembly assembly = Assembly.GetAssembly(typeof(VisualDesignerAttribute)); VisualComponentItem selectedItem = null; foreach (Type t in assembly.GetTypes()) { if (!OnlyBindables || (OnlyBindables && (t.GetInterface("IBindable") != null))) { object[] attributes = t.GetCustomAttributes(typeof(VisualDesignerAttribute), false); if (attributes.Count() > 0) { VisualComponentItem item = new VisualComponentItem(); item.Type = t; item.Name = ((VisualDesignerAttribute)attributes[0]).ComponentName; if ((UXComponent != null) && (UXComponent.GetType() == t)) { item.Instance = UXComponent; selectedItem = item; } componentCbx.Items.Add(item); } } } componentCbx.SelectedItem = selectedItem; }
private void serviceBtn_Click(object sender, EventArgs e) { VisualComponentItem item = componentCbx.SelectedItem as VisualComponentItem; using (ConfigureServiceForm form = new ConfigureServiceForm()) { form.BackendApplication = BackendApplication; form.Owner = this; form.UXServiceComponent = item.Instance as UXServiceComponent; form.ShowDialog(); } propertyGrid.SelectedObject = item.Instance; }