1

だから私はこの質問を投稿しましたが、提案された回答はうまくいかないようです。もう一度、XAML のより単純なバージョンを再投稿します。通常、ウィンドウのサイズが変更されると、TextBox のサイズも変更されると予想されます。「逆方向」の動作が必要です。Window 領域全体を占める TextBox。TextBox のサイズが拡大/縮小し、ウィンドウが追従します。それを行う方法について提案してください。

<Window>
    <Grid HorizontalAlignment="Stretch">
        <TextBox Width="Auto">            
        </TextBox>
    </Grid>
 </Window>
4

2 に答える 2

2
<Window x:Class="MiscSamples.SizeToContent"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="SizeToContent" SizeToContent="WidthAndHeight" ResizeMode="NoResize">
    <Grid HorizontalAlignment="Stretch">
        <TextBox Width="Auto" AcceptsReturn="True">
        </TextBox>
    </Grid>
</Window>

ResizeMode="NoResize"ユーザーが手動でウィンドウのサイズを変更すると、動作が失われるため、を含める必要があることに注意してください。

于 2013-04-02T21:42:38.957 に答える
-1

テキストボックスに名前を付けてから、ウィンドウの幅をテキストボックスのサイズにバインドできます。

<Window Width="{Binding ElementName=txtbox, Path=ActualWidth}">
   <Grid HorizontalAlignment="Stretch">
      <TextBox x:Name="txtbox" Width="Auto">            
      </TextBox>
   </Grid>
</Window>

テキストボックスのサイズを変更するためのコードは含めていませんが (プログラムで行うことになると思います)、この XAML を使用すると、ウィンドウはテキストボックスの幅に合わせてサイズ変更する必要があります。

于 2013-04-02T21:41:50.340 に答える