WPF,窗口大小调整为文本框大小

本文关键字:文本 窗口大小 调整 WPF | 更新日期: 2023-09-27 18:07:19

所以我张贴了这个问题,但建议的答案似乎不工作。所以再一次,重新发布它,更简单的XAML版本。我们通常期望文本框像窗口一样调整大小。我想要"另一种方式"的行为。占据整个窗口区域的文本框。文本框的大小会增大/缩小,窗口也会随之增大/缩小。请提出建议。

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

WPF,窗口大小调整为文本框大小

<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",因为如果用户手动调整窗口大小,则该行为将丢失。

您可以给文本框一个名称,然后将窗口宽度绑定到文本框的大小,如:

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

我没有包含任何用于调整文本框大小的代码(我假设您将以编程方式这样做),但是使用这个XAML,窗口的大小应该与文本框的宽度一致。