为Component设置Name属性,方便使用Name

直接上代码,省事:

 

public class XxxxDesigner : ComponentDesigner
{

 

public override void Initialize(IComponent component)
{
    base.Initialize(component);

    IComponentChangeService ccs =
               (IComponentChangeService)GetService(typeof(IComponentChangeService));

    // Hook the Component Rename event
    ccs.ComponentRename += new ComponentRenameEventHandler(OnComponentRename);
    ccs.ComponentAdded += new ComponentEventHandler(OnComponentAdded);
}

void OnComponentAdded(object sender, ComponentEventArgs e)
{
    SetNameProperty();
}

public void OnComponentRename(object sender, ComponentRenameEventArgs e)
{
    SetNameProperty();
}

private void SetNameProperty()
{
    if (this.Component != null && this.Component is IRibbonElement)
    {
        (this.Component as IRibbonElement).Name = Component.Site.Name;
    }
}

}