0

我对实现删除相关 UI 元素集的最佳方法很感兴趣。

这就是我正在做的事情:我有一个嵌入在垂直滚动查看器中的网格。用户可以在运行时通过单击按钮将多个列表框添加到此网格。添加每个 ListBox 时,还会添加正确数量的 Grid Rowdefinitions 和 Gridsplitter 以允许调整每个 Listbox 的大小。这部分工作正常。

诀窍是——用户还可以选择关闭列表框。当他们这样做时,我将需要删除“属于”关闭列表框的相应 Rowdefinitions 和 Gridsplitter。

通过 Grid.Children 和 Grid.Rowdefinitions 的迭代,我可以很容易地找出要删除的 Rowdefinitions 和 Gridsplitters。但我想知道是否有更好的方法来处理这个问题。也许通过将这些元素组合在一个集合中,然后一举移除这个集合?不过,不知道该怎么做。

非常感谢任何想法或建议!

4

1 回答 1

1

我不知道将它们关联到可视/逻辑树中的明显或简单方法,但您当然可以使用关联数组Dictionary<T, U>(即将被删除。

我认为这基本上就是你所描述的。

我认为,任何更聪明的东西都不值得额外的复杂性,除非你有特定的需要。:)

于 2012-08-28T01:51:38.227 回答