2012-09-12 66 views
0

當我有一個WebBrowser控件時,頁面的佈局一直存在一些問題。縱向拉伸WebBrowser以適應內部的內容

這裏是我的XAML的顯著部分:

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 

    <!--TitlePanel contains the name of the application and page title--> 
    <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,12"> 
     <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> 
     <TextBlock x:Name="PageTitle" Text="{Binding Title}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
    </StackPanel> 

    <!--ContentPanel - place additional content here--> 
    <StackPanel Grid.Row="1" Margin="12,17,0,12"> 
     <phone:WebBrowser Name="HtmlBody" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Red" Margin="12,17,0,28"/> 
    </StackPanel> 
</Grid> 

我的問題是如何使web瀏覽器streatch。將它的屬性設置爲自動不起作用。如果我這樣做,它默認爲0的高度。

任何想法?

回答

1

使用網格而不是StackPanel中,並設置第二行的高度,以「*」,像這樣:

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <!--TitlePanel contains the name of the application and page title--> 
    <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,12"> 
     <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> 
     <TextBlock x:Name="PageTitle" Text="{Binding Title}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
    </StackPanel> 

    <!--ContentPanel - place additional content here--> 
    <Grid Grid.Row="1" Margin="12,17,0,12"> 
     <phone:WebBrowser Name="HtmlBody" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Red" Margin="12,17,0,28"/> 
    </Grid> 
</Grid> 
+0

將這項工作如果我添加web瀏覽器下方的控制呢? – linkerro

+0

是的,您只需要向網格中添加更多行,並將網頁瀏覽器設置爲第一行,將其他行設置爲其他元素。 –

+0

明白了。今晚我會回家試試它。 – linkerro