2013-05-17 21 views
1

再次添加它在我有3個按鈕,一排DockPanel中(也許這是不是適合我的面板?)裏面。每個按鈕都停靠在左側。WPF刪除按鈕,然後在同一個地方

|Button1|Button2|Button3| 

我想動態刪除任何按鈕,並在運行時將它們添加回來。

按鈕應該始終具有相同的順序。

如果我讓Button1.Visibility = Visibility.Hidden則自敗,但空間保持,這是不是我想要的,我想是左移這樣的其他按鈕:

|Button2|Button3| 

如果我刪除和添加這樣的按鈕:

DockButtons.Children.Remove(按鈕1); DockButtons.Children.Add(Button1);

它從左邊刪除Button1的,並將其添加到右邊是這樣的:

|Button2|Button3|Button1| 

這又不是我想要的。我想保持按鈕的順序相同。

任何想法我做錯了什麼?

很多感謝

回答

2

您需要設置Visibility到坍塌,這不會使其,也不保護它會佔用的空間。

0

使用可視性崩潰,而不是可見性隱藏不會保留空間,或渲染。因此,將您的實施更改爲摺疊應該可以解決此問題

或者(也許不是首選,這取決於它對用戶的外觀以及更多代碼)當您想要刪除一個按鈕時,您可以刪除所有按鈕,然後添加您想按照您的順序顯示的所有按鈕希望他們爲前)

如果你想刪除鍵1.刪除所有按鈕,然後添加按鈕2,再加入按鈕3

雖然作爲我說的第一可視崩潰將是理想的。

相關問題