wpf删除按钮,然后在同一个地方再次添加

时间:2013-05-17 18:13:13

标签: wpf button visibility dockpanel

我在dockpanel内连续有3个按钮(也许这对我来说不是正确的面板?)。每个按钮都停靠在左侧。

|Button1|Button2|Button3|

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

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

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

|Button2|Button3|

如果我删除并添加如下按钮:

DockButtons.Children.Remove(按钮1); DockButtons.Children.Add(按钮1);

它从左侧移除Button1并将其添加到Right中,如下所示:

|Button2|Button3|Button1| 

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

知道我做错了吗?

非常感谢提前

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

或者(可能不是首选,取决于它对用户的看法,以及更多代码)当您想要删除按钮时,您可以删除所有按钮,然后按照您想要的顺序添加所需的所有按钮他们为前)

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

虽然正如我所说,第一次可见性崩溃将是理想的。