无法在我的手机页面上显示网页浏览器

时间:2012-05-15 16:50:35

标签: windows-phone-7 windows-phone-7.1

我是Windows手机编码的新手,我认为这是一个新手问题:),我的网页浏览器没有显示。我首先想到的是因为我曾经说过要在我班级的构造函数中导航,但改变它并没有解决任何问题。

有人可以向我解释有什么问题吗?

这是我背后的代码:

    public partial class MainPage : PhoneApplicationPage
    {
        string site = "http://google.com/";

        // Constructor
        public MainPage()
        {
            InitializeComponent();

            this.Loaded += new RoutedEventHandler(MainPage_Loaded);

        }


        private void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            wB.Navigate(new Uri(site, UriKind.Absolute));
            wB.Navigating += new EventHandler<NavigatingEventArgs>(wB_Navigating);
        }

        void wB_Navigating(object sender, NavigatingEventArgs e)
        {
            System.Diagnostics.Debug.WriteLine(e.Uri);
            if (e.Uri.ToString() != (site))
            {
                System.Diagnostics.Debug.WriteLine("lalala");
               // NavigationService.Navigate(new Uri("/Panorama.xaml", UriKind.Relative));
            }
        }
    }
}

这是我的Xaml:

<phone:PhoneApplicationPage 
    x:Class="LaBanquePostale.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <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,28">
            <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <phone:WebBrowser Name="wB"  VerticalAlignment="Top" d:LayoutOverrides="Width"/>
            <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/></Grid>
    </Grid>

</phone:PhoneApplicationPage>

2 个答案:

答案 0 :(得分:2)

您的WebBrowser和TextBlock位于同一网格行中。 TextBlock可能隐藏了WebBrowser,并且WebBrowser的高度为0,因为它的verticalAlignment设置为Top。

尝试删除TextBlock并将VerticalAlignment设置为Stretch,看看是否有效。

最终,你的网格应该有两个RowDefinitions,看起来像这样:

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Grid.RowDefinitions>
             <RowDefinition Height="*" />
             <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <phone:WebBrowser Name="wB"  VerticalAlignment="Stretch" Grid.Row="0" d:LayoutOverrides="Width"/>
        <TextBlock HorizontalAlignment="Left" Grid.Row="1" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/></Grid>
    </Grid>

答案 1 :(得分:0)

这似乎是因为您正在针对WebBrowser控件设置VerticalAlignment =“Top”,删除此属性设置,在我的示例项目中显示WebBrowser控件。