2016-04-29 50 views
0

我一直在为此工作了几天,无法弄清楚。这是情况。我有一个可以容纳许多“图层”的CollectionBase,并且每个图层都可以容纳很多对象。该部分在代码中正常工作。问题是,当我在将控件放置在窗体中之后编辑CollectionBase时,它将只允许我访问第一层。 enter image description here使用IDE在Visual Studio中编辑嵌套集合C#

现在我试着制作集合和图层都List和CollectionBase。我试过设置属性。仍然没有编辑过第一层。

这是我在目前我在2尽可能的声明:

[Serializable, Browsable(true), EditorBrowsable(EditorBrowsableState.Always), 
    Editor(typeof(CollectionBase), typeof(CollectionBase))] 
    public class GameObjectCollection : CollectionBase, ICollection<GameObjectLayer>... 

    [Serializable, Browsable(true), EditorBrowsable(EditorBrowsableState.Always), 
    Editor(typeof(CollectionBase), typeof(CollectionBase))] 
    public class GameObjectLayer : CollectionBase, ICollection<GameObject>... 

    [Serializable, Browsable(true), EditorBrowsable(EditorBrowsableState.Always)] 
    public class GameObject : Object... 

我知道这可能是一些小的和愚蠢的。这是我正在开发的第一个主要的自定义控件,我只是试图让它为最终用户正常工作。 非常感谢您为我提供的任何帮助。

回答

0

解决方法:我创建了一个属性字段,允许我编辑嵌套图层。

public List<GameObjectLayer> Items... 

编辑器现在看到该字段并允许我编辑嵌套列表。