将类属性公开给Visual Studio属性窗口

时间:2013-02-20 09:21:12

标签: c# visual-studio visual-studio-extensions visual-studio-sdk

我有一个扩展Microsoft.VisualStudio.Shell.Package的VSPackage的Visual Studio Extensions项目。

有这个课程:

public class PropertyPageItem
    {
        private string _item1;
        private string _item2;

        public PropertyPageItem()
        {
            _item1 = "ITEM1";
            _item2 = "ITEM2";
        }

        [Description("Item1")]
        [Category("Item-Field")]
        public string Item1
        {
            get
            {
                return _item1;
            }
            set
            {
                _item1 = value;
            }
        }

        [Description("Item2")]
        [Category("Item-Field")]
        public string Item2
        {
            get
            {
                return _item2;
            }
            set
            {
                _item2 = value;
            }
        }
    }

上面的类不是动态的(不考虑事件等),这是为了理解方法。

我们如何将此类链接/公开给Visual Studio属性窗口?这是我们在浏览解决方案资源管理器时可以看到文件属性的窗口。目标是使用此窗口而不是创建另一个属性网格控件。

尝试了关于此link的说明,但它让我更加困惑。

1 个答案:

答案 0 :(得分:0)

经过一个小小的研究,我发现了如何做到这一点。

按照link

中的说明操作

在该演练的第6步中,将'this'替换为'new PropertyPageItem()'

public override void OnToolWindowCreated()
{
    ArrayList listObjects = new ArrayList();
    listObjects.Add(new PropertyPageItem());
    SelectList(listObjects);
}

在“公开属性窗口的属性”部分的第7步之后,实现目标,并将PropertyPageItem类中的属性公开到Visual Studio PropertyWindow上。

希望这有用。