我對實現移除相關UI元素集的最佳方式感興趣。如何處理相關WPF UI元素組的移除
這就是我正在做的工作:我有一個嵌入在Verticle Scrollviewer內的Grid。用戶可以在運行期間通過點擊按鈕將多個Listbox添加到此Grid。添加每個ListBox時,還會導致添加正確數量的Grid Rowdefinitions和一個Gridsplitter以允許調整每個Listbox的大小。這部分工作正常。
訣竅是這樣的 - 用戶也可以選擇關閉列表框。當他們這樣做時,我需要刪除「屬於」關閉列表框的相應Rowdefinitions和Gridsplitter。
通過迭代Grid.Children和Grid.Rowdefinitions,我可以輕鬆找出要刪除的Rowdefinitions和Gridsplitters。但我想知道是否有更好的方法來處理這個問題。也許通過將這些元素集合在一個集合中,並一舉將這個集合刪除?不知道該怎麼做。
任何意見或建議,非常感謝!
對於缺乏任何其他建議,我決定使用其他控件的.Tag屬性來存儲這些元素所屬的ListBox的HashCode。然後,我遍歷Children元素和RowDefinitions的Grid集合,刪除與關閉的Listbox的HashCode匹配的元素。 –