0

我在 windows phone 编码方面很新,我有一个我认为是新手的问题:),我的网络浏览器没有显示。我首先认为这是因为我说过它要在我的类的构造函数中导航,但改变它并没有解决任何问题。

谁能向我解释怎么了?

这是我背后的代码:

    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>
4

2 回答 2

2

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

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

最终,您的 Grid 应该有两个 RowDefinition,看起来像这样:

    <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>
于 2012-05-15T17:02:34.020 回答
0

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

于 2012-05-15T16:58:17.440 回答