0
我得定義爲這樣的用戶控件:用於在Silverlight用戶控制滾動條
<UserControl
x:Class="Client.UserControl1"
d:DesignWidth="640" d:DesignHeight="480" MinWidth="400" MinHeight="400"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto">
<Grid x:Name="LayoutRoot" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="24"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<RichTextBox Margin="10" Grid.Row="1" HorizontalScrollBarVisibility="Auto">
<Paragraph><Run Text="RichTextBox"/></Paragraph>
</RichTextBox>
<sdk:Label Margin="0" Height="24" HorizontalAlignment="Center"
Content="Message"/>
</Grid>
</UserControl>
然後我在頁面中使用這個控制如下:
<navigation:Page
Style="{StaticResource PageStyle}" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto">
<Grid x:Name="LayoutRoot" Background="Blue"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Client:UserControl1 Margin="10"/>
</Grid>
</navigation:Page>
我希望用戶控件來填充頁面。隨着頁面的擴展,用戶控件也隨之擴展。這工作正常。但是,我爲用戶控件指定了最小高度和寬度。如果頁面比這更小,我想要顯示滾動條。但是,當我使頁面小於最小大小時,不會出現滾動條。
我試着在scrollviewer中包裝用戶控件,但是這不會給我我想要的行爲。在這種情況下,富文本框包含的內容現在被全部繪製,即它不再具有任何自己的滾動條。我仍然希望富文本框受到頁面大小的限制,即如果瀏覽器最大化並且富文本框中包含100行文本,我仍然可以看到富文本框的邊框,而富文本框文本框將有滾動條以允許查看其內容。當瀏覽器窗口小於控件的最小大小時,則需要用戶控件的滾動條。
這可能嗎?您的網頁上:
乾杯