在“Visual Studio属性”窗口中显示类属性

本文关键字:属性 显示 窗口 Visual Studio | 更新日期: 2023-09-27 18:00:18

我有一个Visual Studio扩展项目,其中VSPackage扩展了Microsoft.VisualStudio.Shell.Package

有这样一个类别:

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属性窗口?在浏览解决方案资源管理器时,我们可以在同一个窗口中查看文件属性。目标是使用此窗口,而不是创建另一个属性网格控件。

试着按照这个链接上的说明操作,但它让我更加困惑。

在“Visual Studio属性”窗口中显示类属性

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

按照链接中的说明进行操作

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

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

在"将属性公开到属性窗口"部分的步骤7之前,目标已经实现,PropertyPageItem类中的属性将公开到Visual Studio PropertyWindow中。

希望这会有所帮助。