ArcEngine 图层的属性实现问题

public sealed class LayerProperties : BaseCommand
{
    private IApplication m_application;
    private string m_layerCategoryID = string.Empty;

    public LayerProperties()
    {
        base.m_category = ".NET Samples";
        base.m_caption = "Simple Layer Properties... (C#)";
        base.m_message = "Display a simplified layer property sheet";
        base.m_toolTip = "Simplified layer property sheet";
        base.m_name = "CSNETSamples_SimpleLayerPropCommand";
    }

    /// <summary>
    /// Occurs when this command is created
    /// </summary>
    /// <param name="hook">Instance of the application</param>
    public override void OnCreate(object hook)
    {
        if (hook == null)
            return;

        m_application = hook as IApplication;
        if (m_application != null)
        {
            switch (m_application.Name)
            {
                case "ArcMap":
                    m_layerCategoryID = "{1476c782-6f57-11d2-a2c6-080009b6f22b}";
                    break;
                case "ArcScene":
                    m_layerCategoryID = "{3f82c99b-1c5f-11d4-a381-00c04f6bc619}";
                    break;
                case "ArcGlobe":
                    m_layerCategoryID = "{720e21dc-2199-11d6-b2b3-00508bcdde28}";
                    break;
                default:
                    base.m_enabled = false;
                    break;
            }
        }
        else
            base.m_enabled = false;
    }

    /// <summary>
    /// Occurs when this command is clicked
    /// </summary>
    public override void OnClick()
    {
       ** IComPropertySheet myPropertySheet = new ComPropertySheetClass();**
        myPropertySheet.Title = "Simplified Layer Properties (C#)";
        myPropertySheet.HideHelpButton = true;

        //Add by component category - all pages registered in the layer property page
        //UID layerPropertyID = new UIDClass();
        //layerPropertyID.Value = m_layerCategoryID;
        //myPropertySheet.AddCategoryID(layerPropertyID);

        //Or add page by page - but have to call Applies yourself
        myPropertySheet.ClearCategoryIDs();
        myPropertySheet.AddCategoryID(new UIDClass()); //a dummy empty UID
       // myPropertySheet.AddPage(new LayerVisibilityPage()); //my custom page
        myPropertySheet.AddPage(new ESRI.ArcGIS.CartoUI.LayerDrawingPropertyPageClass()); //feature layer symbology

        //Pass in layer, active view and the application
        ISet propertyObjects = new SetClass();
        IBasicDocument basicDocument = m_application.Document as IBasicDocument;

        propertyObjects.Add(basicDocument.ActiveView);
        propertyObjects.Add(basicDocument.SelectedLayer); //or check ContextItem is a layer?
        propertyObjects.Add(m_application); //optional?

        //Show the property sheet
        if (myPropertySheet.CanEdit(propertyObjects))
            myPropertySheet.EditProperties(propertyObjects, m_application.hWnd);
    }


            我用断点查看,每次运行到
             ** IComPropertySheet myPropertySheet = new ComPropertySheetClass();**
            这一行代码就自动弹出,也不报错也不实现,这是什么原因??有没有大神??

http://blog.csdn.net/u014248147/article/details/51695216

您好!能加个QQ992552678 互相学习一下ArcEngine吗