Я пытаюсь заставить мое приложение Silverlight вести себя как любое другое веб-приложение для макета.
Я подписался на эту ветку , которая показывает, как расширить приложение, чтобы заполнить доступное пространство, когда приложение занимает меньше места, чем окно клиента.
Однако я не могу найти код, который делает обратное. То есть, когда мое приложение становится больше, чем клиентская область браузера, я бы хотел, чтобы браузер отображал соответствующие полосы прокрутки. В настоящее время приведенный выше код просто обрезает приложение по размеру браузера.
Вот простой пример приложения:
<UserControl x:Class="SilverlightWidthAndHeight.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Rectangle Grid.Row="0"
Fill="Blue" />
<TextBlock Grid.Row="0"
Foreground="White"
FontSize="20"
FontWeight="Bold"
Margin="5"
Text="Header" />
<Rectangle Grid.Row="1"
Fill="Red" />
<StackPanel Grid.Row="1"
Orientation="Horizontal">
<TextBlock x:Name="txtMiddleRow"
Foreground="White"
FontSize="28"
Text="Middle Row" />
<Button x:Name="btnGrow"
Content="Grow"
VerticalAlignment="Center"
Margin="5" />
</StackPanel>
<Rectangle Grid.Row="2"
Fill="Blue" />
<TextBlock Grid.Row="2"
Foreground="White"
FontSize="20"
FontWeight="Bold"
Margin="5"
Text="Footer" />
</Grid>
</UserControl>
Как видите, он заполняет пространство соответствующим образом:
Но если я нажму кнопку «Расти», чтобы увеличить размер шрифта TextBlock:
Я понимаю, что могу обернуть все в ScrollViewer, но похоже на такой взлом, когда полоса прокрутки находится слева от полосы прокрутки браузера.
Спасибо
WTS