2011-06-10 56 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,沒有大小限制,所以它會嘗試獲得它可以獲得的所有空間,窗口響應給它足夠的空間,以適應屏幕。

如果你想防止這種情況發生,你需要爲你的文檔創建容器,以便它們的內容可能不可能,如果文檔本身沒有任何邊界,並且也可以在給你所有你 - 有一種方式。