我在dockpanel内连续有3个按钮(也许这对我来说不是正确的面板?)。每个按钮都停靠在左侧。
|Button1|Button2|Button3|
我想动态删除任何按钮并在运行时添加它们。
按钮应始终具有相同的顺序。
如果我使Button1.Visibility = Visibility.Hidden然后它消失但空间仍然存在,这不是我想要的,我希望其他按钮向左移动:
|Button2|Button3|
如果我删除并添加如下按钮:
DockButtons.Children.Remove(按钮1); DockButtons.Children.Add(按钮1);
它从左侧移除Button1并将其添加到Right中,如下所示:
|Button2|Button3|Button1|
这又不是我想要的。我想保持按钮的顺序相同。
知道我做错了吗?
非常感谢提前
答案 0 :(得分:2)
您需要将Visibility设置为折叠,不会渲染它,也不会保留它将消耗的空间。
答案 1 :(得分:0)
使用可见性折叠而不是隐藏的可见性不会为其保留空间或呈现它。因此,将实施更改为折叠应该可以解决这个问题。
或者(可能不是首选,取决于它对用户的看法,以及更多代码)当您想要删除按钮时,您可以删除所有按钮,然后按照您想要的顺序添加所需的所有按钮他们为前)
如果要删除按钮1.删除所有按钮,然后添加按钮2,然后添加按钮3
虽然正如我所说,第一次可见性崩溃将是理想的。