如何使WPF TextBox填充两个按钮之间的所有可用空间?

时间:2011-07-30 12:23:50

标签: wpf xaml layout dockpanel

我正在尝试使WPF TextBox填充两个按钮之间的所有可用空间。出于某种原因,下面的代码并不是我想要实现的目标

<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未被拉伸。

另一个问题是,当添加文本时,文本框宽度会增加,最终会将右按钮推出可见空间。

1 个答案:

答案 0 :(得分:3)

不要将LastChildFill设置为false并将TextBox设置为最后一个子项(通过将元素移动到代码中的底部)。

(或使用适当的控件,如Grid