2011-07-30 9 views
0

私は、WPF TextBoxを2つのボタンの間にあるすべての空き領域を埋めるようにしようとしています。何らかの理由で、以下のコードは私が達成しようとしているものではありません。WPF TextBoxを2つのボタンの間にあるすべての空き領域を埋める方法は?

<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つの問題は、テキストが追加されると、テキストボックスの幅が広がり、最終的には右のボタンが表示されている領域から押し出されるという問題です。

答えて

3

LastChildFillをfalseに設定しないで、TextBoxを最後の子にしないでください(要素をコードの最後に移動します)。

Gridのように、適切なコントロールを使用するか)

+0

これは私が欲しいものではありません。私は最後のコントロールをボタンにしたい。 – Demiurg

+0

DockPanelやStackPanelで行うことが不可能だと言っていますか? – Demiurg

+0

コントロールのどこに配置されていても問題はありません。重要なのは、位置と関連するプロパティの相対位置です。TextBoxをつかんで動かし、 'LastChildFill'をtrueに戻します。 TextBoxだけを伸ばします。 –

関連する問題