43

DockPanel を RadioButton 要素に追加して、ラジオ ボタン ラベル、テキスト ボックス、およびボタンを幅 100% を使用して水平方向に配置できるようにしました。

LastChildFill="True"DockPanel 内で使用すると、最後の要素が引き伸ばされます。テキストボックスがパネルの最後の子である場合、これはうまく機能します。ただし、ボタンは最後の要素であり、幅が固定されているため、テキスト ボックスを引き伸ばす必要があります。ただし、 のようなプロパティはありません2ndChildFill="True"

私のコードは次のようになります。

    <RadioButton HorizontalAlignment="Stretch"
                                        HorizontalContentAlignment="Stretch">
        <DockPanel >
            <TextBlock VerticalAlignment="Center">in location:</TextBlock>
            <TextBox Grid.Column="1" Margin="10,0,0,0">Path string</TextBox>
            <Button HorizontalAlignment="Right" 
                    Margin="10,0,0,0" Padding="3,0">...</Button>
        </DockPanel>
    </RadioButton>

そして、それは私にこれを与えます:

wpf スクリーンショット

これを修正するためのアイデアやヒントはありますか? よろしくお願いします...

4

2 に答える 2

64

DockPanel.Dock要素の添付プロパティを設定TextBoxし、最後の要素のままにする必要があります。

<RadioButton HorizontalAlignment="Stretch"
             HorizontalContentAlignment="Stretch">
    <DockPanel LastChildFill="True">
        <TextBlock DockPanel.Dock="Left"
                   VerticalAlignment="Center"
                   Text="in location:" />
        <Button DockPanel.Dock="Right"
                Margin="10,0,0,0"
                Padding="3,0"
                Content="..." />
        <TextBox Margin="10,0,0,0">
            Path string
        </TextBox>
    </DockPanel>
</RadioButton>
于 2012-12-25T23:32:08.510 に答える