【发布时间】:2011-06-10 14:47:24
【问题描述】:
我正在尝试以 WPF 表单显示 FlowDocument,并尝试了 RichTextBox 和 FlowDocumentScrollViewer。我还要求调整窗口大小以显示所有文本。 不幸的是,当我为窗口本身设置 SizeToContent="WidthAndHeight" 时,无论我在 FlowDocument 中放入什么内容,窗口都会扩展到我所有显示器的全宽!然而,高度似乎调整得很好。
有人知道如何让它正确调整大小吗?环顾四周,无法弄清楚如何进行...
XAML 下面:
<Window x:Class="CustomControls.SecureConfirmationDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SecureConfirmationDialog"
MinHeight="120" MinWidth="200"
Height="120" Width="300"
ResizeMode="NoResize"
SizeToContent="WidthAndHeight"
WindowStyle="ToolWindow"
Loaded="Window_Loaded">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<FlowDocumentScrollViewer Name="flowMsg" Grid.Row="0" Grid.ColumnSpan="3" Margin="3" IsToolBarVisible="False" ScrollViewer.VerticalScrollBarVisibility="Hidden" />
<TextBox Name="txtConfirm" Grid.Row="1" Grid.Column="0" Text="Testing" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="3" />
<Button Name="btnOK" Grid.Row="1" Grid.Column="1" Content="OK" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="3" Width="50" Click="btnOK_Click" />
<Button Name="btnCancel" Grid.Row="1" Grid.Column="2" Content="Cancel" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="3" Width="50" Click="btnCancel_Click" />
</Grid>
</Window>
【问题讨论】:
-
你想让窗口做什么有点令人困惑。您是否希望所有内容始终在没有滚动条的情况下显示?尝试将第一行高度更改为“自动”
-
不要真正关心滚动条,这只是我可以做到的唯一方法,而不显示 FlowDocumentReader 工具栏。
标签: c# wpf xaml flowdocument