2011-06-10 106 views
1

我试图在WPF窗体中显示FlowDocument并尝试了RichTextBox和FlowDocumentScrollViewer。我还要求窗口调整大小以显示所有文本。 不幸的是,当我为窗口本身设置SizeToContent =“WidthAndHeight”时,无论我在FlowDocument中放入什么内容,窗口都会展开为我所有显示的全部宽度!然而,高度似乎很好调整。SizeToContent使用RichTextBox和FlowDocumentScrollViewer填充屏幕

任何人都知道如何让它正确调整大小?看着一切都结束了无法弄清楚如何得到这个打算...
以下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> 
+0

它有点令人困惑,你想要窗口做什么。你是否希望所有的东西总是显示没有滚动条?尝试将第一行高度更改为“自动”也许 – wangburger 2011-06-10 14:54:57

+0

不必关心滚动条,只是我可以做到这一点,而不显示FlowDocumentReader工具栏。 – 2011-06-10 15:08:36

回答

1

SizeToContent唯一的“作品”如果内容实际上是有界的,在这种情况下,然而,电网,这是内容Window,没有大小限制,所以它会尝试获得它可以获得的所有空间,窗口响应给它足够的空间,以适应屏幕。

如果你想防止这种情况发生,你需要为你的文档创建容器,以便它们的内容可能不可能,如果文档本身没有任何边界,并且也可以在给你所有你 - 有一种方式。