使用Silverlight4应用程序的浏览器滚动条
我正试图让我的Silverlight应用程序在布局上表现得像任何其他web应用程序一样 我遵循这一点,展示了当应用程序占用的面积小于客户端窗口时,如何扩展应用程序以填充可用空间 然而,我似乎找不到与此相反的代码。也就是说,当我的应用程序大于浏览器的客户端区域时,我希望浏览器显示相应的滚动条。目前,上面的代码只是以浏览器的大小剪辑应用程序 下面是一个简单的示例应用程序:使用Silverlight4应用程序的浏览器滚动条,silverlight,silverlight-4.0,resize,Silverlight,Silverlight 4.0,Resize,我正试图让我的Silverlight应用程序在布局上表现得像任何其他web应用程序一样 我遵循这一点,展示了当应用程序占用的面积小于客户端窗口时,如何扩展应用程序以填充可用空间 然而,我似乎找不到与此相反的代码。也就是说,当我的应用程序大于浏览器的客户端区域时,我希望浏览器显示相应的滚动条。目前,上面的代码只是以浏览器的大小剪辑应用程序 下面是一个简单的示例应用程序: <UserControl x:Class="SilverlightWidthAndHeight.MainPage"
<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>
如您所见,它适当地填充了空间:
但是如果我按下“增长”按钮来增加文本块的字体大小:
我知道我可以在ScrollViewer中包装所有内容,但在浏览器滚动条的左侧立即放置滚动条看起来像是一种黑客行为
谢谢,wTs您要求的是silverlight自行调整大小。这需要你做很多工作。你需要编写代码,知道你的应用程序何时变大,它将缩放容纳你silverlight应用程序的html对象
例如,在layoutroot上为layoutchange设置一个事件,然后从代码中设置silverlight应用程序的height属性。看看如何操作html并从silverlight调用javascript。隐藏浏览器滚动条怎么样?然后您可以使用SL scrollviewer或其他任何工具。