WPF 滚动查看器更改文本块宽度



我有一个简单的对话框,其中包含一个文本块,该对话框应随窗口调整大小,并在内容比文本块/对话框宽时显示滚动条。如果没有ScrollViewer,它可以正常工作 - TextBlock与窗口一样宽。一旦我添加滚动查看器,文本块就会变得更宽(它适合内容宽度(。为什么 ScrollViewer 会更改 TextBlock 的行为,我该如何防止这种情况?

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="A label"/>
<ScrollViewer Grid.Row="1" Grid.Column="0" Margin="10" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Border BorderThickness="0.5" BorderBrush="Gray">
<TextBlock MinHeight="200" MinWidth="600"
Text="Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... Some long text ... " />
</Border>
</ScrollViewer>        
<Button Grid.Row="2" Grid.Column="0" Width="80" Margin="0 10 15 15" Height="25" HorizontalAlignment="Right" Content="OK"/>
</Grid>

因为 ScrollViewer 为您的控件提供了所需的空间,并有助于滚动它们。我认为你的问题是边框,你只需要将 ScrollViewer 放在边框内,一切都会看起来不错。

我们不太明白你的问题。 您希望文本块随窗口/对话框调整大小。 无论是否使用滚动查看器,文本块都会随窗口相应地调整大小。 ScrollViewer只是让你在内容不适合屏幕时搜索元素的内容,在本例中为TextBlock。您的代码没有任何问题,只是视觉表示让您感到困惑。:)希望你明白了。

最新更新