2

このコード:

<StackPanel Orientation="Horizontal">
                <RichTextBox />
                <Button Content="Dialog" />  
            </StackPanel>

StackPanel ONTO の左側のどこかにボタンが表示されます。なぜですか?

編集:ああ、幅の問題を見ました。RTB には幅がほとんどなく、ボタンはその右側にあります。

編集:このバグに遭遇したようです:幅が設定されていないWPF RichTextBox

解決策がうまくいきません!

4

3 に答える 3

1

RTB の Grid と Horizo​​ntalAlignment (および VerticalAlignment) プロパティを使用する方がよいでしょう。

<Grid HorizontalAlignment="Stretch"
      VerticalAlignment="Stretch">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <RichTextBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
    <Button Grid.Column="1" 
            Content="Dialog" 
            HorizontalAlignment="Right" 
            VerticalAlignment="Bottom" />
</Grid>
于 2010-10-08T15:43:26.120 に答える
0

申し訳ありませんが、「レイアウト」パネル(RichTextBoxの場合)を見ると、その下部に下向き矢印があります。それをクリックして「詳細オプション」を開きます。そこで、「Horizo​​ntalContentAlignmentとVertialContentAlignment」の両方をストレッチするように設定します。(それぞれの最後の2つのオプション)。

省略してすみません。私の悪い。:)

ScreenShot:

于 2010-10-08T15:26:43.663 に答える
0

コード レイアウトは次のようになります。

<StackPanel Margin="105,73,124,54" Orientation="Horizontal">
                <RichTextBox Width="312" />
                <Button Content="Dialog" VerticalAlignment="Bottom" Height="56" />  
            </StackPanel>

各要素 (コントロール) のサイズを個別に変更する必要があります。そうしないと、元のレイアウトと同じようなレイアウトになります (すべてがごちゃごちゃになって、一緒に押しつぶされてしまいます)。

于 2010-10-08T14:57:52.560 に答える