1

過去3〜4日から、WPFを学ぼうとしています。サンプルの xaml として、グリッドを作成し、テキストブロックとテキスト ボックスの形式でいくつかのコントロールを配置しようとしました。

私が直面している問題は、テキストボックスにテキストを入力し続けると、テキストボックスの幅が増え続け、フォーム全体が台無しになることです。

誰でも問題を解決するのを手伝ってくれませんか。

テキスト ボックスで構成されるサンプル XAML コードを次に示します。

 <Grid>
<Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="2*"/>


        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
  <TextBox  Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"  FontSize="25"  Margin="5 30 130 0"/>
        <TextBox  Grid.Row="2" FontSize="25" Grid.Column="1" Grid.ColumnSpan="2" Margin="5 30 130 0"/>
        <TextBox  Grid.Row="3" FontSize="25" Grid.Column="1" Margin="5 30 160 0"/>
        <TextBox  Grid.Row="5" FontSize="25" Grid.Column="1" Grid.ColumnSpan="2" Margin="5 30 130 0"/>
</Grid>

この点について誰か助けてください。あらゆる種類の助けをいただければ幸いです。

4

2 に答える 2

2

プロパティ onを使用AcceptsReturnして、改行を許可し、テキスト サイズがそれぞれの幅を超えたときにテキストを折り返すことができます。TextWrappingTextBoxTextBox

例えば

<TextBox TextWrapping="Wrap" AcceptsReturn="true" /> 

AcceptsReturnユーザーが CTRL + Return の代わりに Return を押して、テキスト ボックスに改行できるようにします。それ以外の場合、テキストボックスはフォーカスを失い、標準の動作に従ってデフォルトのボタンが押されます。(デフォルトのボタンがない場合は、とにかく改行が挿入されると思います)

于 2013-02-09T12:56:56.700 に答える
1

TextBox が大きくなっているのですか、それともテキストでいっぱいになっているだけですか?
テストのために、その上にボーダー ブラシを配置し、Horizo​​ntalContentAlignment="Stretch" を設定します。
幅を制限したい場合は、幅を設定します。そうしないと、使用可能なすべてのスペースが使用されます。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="40"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <TextBox Text="text" BorderBrush="Red" BorderThickness="2" HorizontalContentAlignment="Stretch" />
</Grid>
于 2013-02-09T14:25:51.250 に答える