【问题标题】:wpf remove button then add it in again at the same placewpf删除按钮,然后在同一个地方再次添加它
【发布时间】:2013-05-12 23:58:31
【问题描述】:

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

|Button1|Button2|Button3|

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

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

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

|Button2|Button3|

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

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

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

|Button2|Button3|Button1| 

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

知道我做错了什么吗?

在此先感谢

【问题讨论】:

    标签: wpf button visibility dockpanel


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      尽管正如我所说,第一次可见性崩溃是理想的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多