0

所以我正在开发一个程序,它有几个屏幕,导致它有重叠的控件(按钮和列表)。

我将控件放在效果很好的面板中,然后对面板进行显示/隐藏。

这也很有效。

我现在遇到了一个问题,因为我最多有几个面板,当我向上移动一个面板时,它会被另一个面板吸收,我需要它们保持分开。

示例:当我将面板 2 移动到面板 1 上方时,面板 2 成为面板 1 的一部分。然后当我这样做时panel1.Hide()panel2.Show()panel2 仍然隐藏,因为它是 panel1 的一部分。有没有办法让我取消组合这些或将 panel2 移动到适当的位置,而不会自动成为 panel1 的一部分?(我知道我可以隐藏面板内的控件,但这会增加很多复杂性,因为我有很多控件)

也许有比使用面板更好的解决方案?

4

1 回答 1

3

您可以使用 View + Other Windows + Document Outline 工具窗口将这些面板再次分开。将内部面板拖回父级。然后,您还必须编辑 Location 属性以使其回到正确的位置。

这当然很烦人,而且很有可能你必须反复这样做。有一种更好的方法,TabControl 具有良好的设计时支持,并且也具有相同的“重叠面板”隐喻。您只需要在运行时隐藏选项卡。这很容易做到,检查这个答案中的 StackPanel 控件。

于 2013-09-27T15:54:12.410 回答