1

我在停靠面板内连续有 3 个按钮(也许这不是适合我的面板?)。每个按钮都停靠在左侧。

|Button1|Button2|Button3|

我想动态删除任何按钮并在运行时将它们添加回来。

按钮应始终具有相同的顺序。

如果我让 Button1.Visibility = Visibility.Hidden 然后它消失但空间仍然存在,这不是我想要的,我希望其他按钮像这样向左移动:

|Button2|Button3|

如果我删除并添加这样的按钮:

DockButtons.Children.Remove(Button1); DockButtons.Children.Add(Button1);

它从左侧删除 Button1 并将其添加到右侧,如下所示:

|Button2|Button3|Button1| 

这又不是我想要的。我想保持按钮的顺序相同。

知道我做错了什么吗?

提前谢谢了

4

2 回答 2

2

您需要将Visibility设置为折叠,这不会渲染它,也不会保留它会占用的空间。

于 2013-05-17T18:15:09.910 回答
0

使用折叠的可见性而不是隐藏的可见性不会为其保留空间或渲染它。因此,将您的实现更改为折叠应该可以解决这个问题。

或者(可能不是首选,具体取决于它对用户的外观,并且它是更多代码)当您想要删除一个按钮时,您可以删除所有按钮,然后按照您希望它们的顺序添加您想要显示的所有按钮)

如果要删除按钮 1。删除所有按钮,然后添加按钮 2,然后添加按钮 3

虽然正如我所说,第一次能见度崩溃是理想的。

于 2013-05-17T18:21:58.753 回答