多行文本框溢出窗口而不是显示滚动条

时间:2014-01-12 16:18:02

标签: wpf textbox scrollbar .net-4.5

在下面的XAML中,我有一个多行文本框。为空时,它会显示一行,并在您键入时展开。那部分顺利,它在我输入时逐行扩展并且不会水平溢出。但是,当我的groupBox按照文本框的大小按下窗口底部并且不在视线范围内时,会出现这种情况。如果满足窗口边框时滚动条出现该怎么办?有问题的文本框被声明为接近这段代码的底部。

<GroupBox Header="News Item Selected" Width="Auto" Height="Auto"  Grid.Column="1" Grid.Row="0">
                <DockPanel>
                    <Grid Height="Auto" Width="Auto" Name="SlaveViewGrid">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition Height="Auto"></RowDefinition>
                            <RowDefinition></RowDefinition>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="1*"></ColumnDefinition>
                            <ColumnDefinition Width="2*"></ColumnDefinition>
                        </Grid.ColumnDefinitions>
                        <Label Content="Index:" Grid.Column="0" Grid.Row="0" />
                        <Label Content="Title:" Grid.Column="0" Grid.Row="1" />
                        <Label Content="Image:" Grid.Column="0" Grid.Row="2" />
                        <Label Content="Label:" Grid.Column="0" Grid.Row="3" />
                        <Label Content="Url:" Grid.Column="0" Grid.Row="4" />
                        <Label Content="Text 01:" Grid.Column="0" Grid.Row="5" />
                        <Label Content="Text 02:" Grid.Column="0" Grid.Row="6" />
                        <Label Content="Text 03:" Grid.Column="0" Grid.Row="7" />
                        <Label Content="Summary Text:" Grid.Column="0" Grid.Row="8" />

                        <xctk:IntegerUpDown Name="txtSelectedViewIndex" Grid.Column="1" Grid.Row="0" Text="{Binding Index}"/>
                        <TextBox Name="txtSelectedViewTitle" Grid.Column="1" Grid.Row="1" Text="{Binding Title}" />
                        <Image Name="imgSelectedViewImage" Grid.Column="1" Grid.Row="2" />
                        <TextBox Name="txtSelectedViewLabel" Grid.Column="1" Grid.Row="3" Text="{Binding Label}"/>
                        <TextBox Name="txtSelectedViewUrl" Grid.Column="1" Grid.Row="4" Text="{Binding Url}"/>
                        <TextBox Name="txtSelectedViewText01" Grid.Column="1" Grid.Row="5" Text="{Binding Text01}"/>
                        <TextBox Name="txtSelectedViewText02" Grid.Column="1" Grid.Row="6" Text="{Binding Text02}"/>
                        <TextBox Name="txtSelectedViewText03" Grid.Column="1" Grid.Row="7" Text="{Binding Text03}"/>
                        <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" 
         AcceptsReturn="True" Name="txtSelectedViewSummaryText" Grid.Column="1" Grid.Row="8" Text="{Binding SummaryText}"/>
                    </Grid>
                </DockPanel>
            </GroupBox>

1 个答案:

答案 0 :(得分:1)

您的问题是您将网格的第8行的高度设置为自动。自动不限制高度,这反过来意味着TextBox不会获得任何限制并根据需要进行扩展,并且不需要显示滚动条。只需设置一个高度就可以了。