2011-07-30 78 views
0

我想讓一個WPF文本框填充兩個按鈕之間的所有可用空間。出於某種原因,下面的代碼不是我想要實現的如何使WPF文本框填充兩個按鈕之間的所有可用空間?

<DockPanel Height="48" LastChildFill="False"> 
    <Button DockPanel.Dock="Left"> 
     <Image Source="Images\large_load.png"></Image> 
    </Button> 
    <Button DockPanel.Dock="Left"> 
     <Image Source="Images\large_reload.png"></Image> 
    </Button> 
    <TextBox Height="24" HorizontalAlignment="Stretch" DockPanel.Dock="Left"></TextBox> 
    <Button DockPanel.Dock="Right" Width="48"> 
     <Image Source="Images\large_delete.png"></Image> 
    </Button> 
</DockPanel> 

TextBox未拉伸。

另一個問題是,當添加文本時,文本框的寬度會增加,並最終將右按鈕從可見空間中移出。

回答

3

不要將LastChildFill設置爲false,並使TextBox成爲最後一個子元素(通過將元素移動到代碼底部)。

(或者使用適當的控制,就像一個Grid

+0

這不是我想要的。我想最後一個控件是一個按鈕。 – Demiurg

+0

您是否在說DockPanel或StackPanel無法做到? – Demiurg

+0

控制放置在代碼的哪個位置並不重要,重要的是相對位置和附加屬性,只需抓住TextBox並將其向下移動並將LastChildFill設置爲true即可。它只是伸展TextBox,沒有更多。 –

相關問題