如何自动扩展 PropertyGrid 中的 ExpandableObjectConverter 对象?

发布于 2024-09-30 14:00:34 字数 694 浏览 4 评论 0原文

我有一个 .net PropertyGrid。我选择一个要查看的对象,该对象的属性是 Vector3。我可以使用 ExpandableObjectConverter 自动将 Vector3 的属性公开到 PropertyGrid 中。一切都很好,除了当选择对象时我希望默认情况下展开 Vector3,即这样您就可以看到 X、Y 和Z 无需单击 [+]。我该怎么做?

// Managed C++ :
[TypeConverter(ExpandableObjectConverter::typeid)]
public ref struct Vector3
{
    Vector3(float _x, float _y, float _z) 
        :   x(_x)
        ,   y(_y)
        ,   z(_z)
    {}

    float x, y, z;

    property float X
    {   
        float get()             { return x; }
    }   
    property float Y   
    {   
        float get()             { return y; }
    }   
    property float Z
    {   
        float get()             { return z; }
    }
};

I have a .net PropertyGrid. I select an object to view, and a property of that object is a Vector3. I can use ExpandableObjectConverter to automatically expose the properties of the Vector3 into in the PropertyGrid. All fine, except that when the object is selected I'd like the Vector3 to be expanded by default, i.e. so you can see X, Y & Z without having to click [+]. How can I do this?

// Managed C++ :
[TypeConverter(ExpandableObjectConverter::typeid)]
public ref struct Vector3
{
    Vector3(float _x, float _y, float _z) 
        :   x(_x)
        ,   y(_y)
        ,   z(_z)
    {}

    float x, y, z;

    property float X
    {   
        float get()             { return x; }
    }   
    property float Y   
    {   
        float get()             { return y; }
    }   
    property float Z
    {   
        float get()             { return z; }
    }
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜味拾荒者 2024-10-07 14:00:34

答案基本上在这里提供:
在显示时展开 C# propertygrid

只需进行一些小的更改即可找到特定的属性,而不是一个类别。

The answer is basically provided here:
Expand C# propertygrid on show

Only some small changes are needed to find the specifc property instead of a category.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文