2014-04-16 14 views
6

मैं विंडोज फोन डेवलपमेंट के लिए नया हूं, जिसने विंडोज 8.1 के साथ सिर्फ इस उद्देश्य के लिए पिछले सप्ताह खरीदा है, अभी ^^ जारी किया गया है।विंडोजफोन 8.1 वेबव्यू नहीं दिख रहा है?

मैं Minibrowser बनाने वाले माइक्रोसॉफ्ट शुरुआती ट्यूटोरियल में से एक का पालन करने की कोशिश कर रहा हूं, जो टेक्स्टबॉक्स, बटन और वेबव्यू के साथ एक बहुत ही सरल ऐप है। मुझे एहसास है कि यह एक विंडोज फोन 8 ट्यूटोरियल है लेकिन विंडोज़ 8.1 की पहचान निश्चित रूप से काफी अलग नहीं हो सकती है?

मैंने अंत में ट्यूटोरियल के माध्यम से भाग लिया है, लेकिन मुझे वेबव्यू के साथ समस्याएं हैं जो वास्तव में कुछ भी प्रदर्शित नहीं कर रही हैं।

Emulator Screenshot

पेज देखने के लिए XAML

<Page 
    x:Class="MiniBrowser.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:MiniBrowser" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 

    <Grid x:Name="LayoutRoot"> 

     <Grid.ChildrenTransitions> 
      <TransitionCollection> 
       <EntranceThemeTransition/> 
      </TransitionCollection> 
     </Grid.ChildrenTransitions> 

     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <!-- TitlePanel --> 
     <StackPanel Grid.Row="0" Margin="24,17,0,28"> 
      <TextBlock Text="My First Application" Style="{ThemeResource TitleTextBlockStyle}" Typography.Capitals="SmallCaps"/> 
      <TextBlock Text="Mini Browser" Margin="0,12,0,0" Style="{ThemeResource HeaderTextBlockStyle}"/> 
     </StackPanel> 

     <!--TODO: Content should be placed within the following grid--> 
     <StackPanel Grid.Row="1" x:Name="ContentRoot" Margin="12,0,12,12"> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*"/> 
        <ColumnDefinition Width="Auto"/> 
       </Grid.ColumnDefinitions> 
       <TextBox x:Name="URL" 
         Text="http://www.xbox.com" 
         TextWrapping="NoWrap" 
         Height="Auto" 
         Width="Auto" 
         HorizontalAlignment="Stretch" 
         VerticalAlignment="Center" 
         Margin="0,0,12,0"/> 
       <Button x:Name="Go" 
         Grid.Column="1" 
         Content="Go" 
         Height="Auto" 
         Width="Auto" 
         HorizontalAlignment="Stretch" 
         VerticalAlignment="Center" 
         Margin="12,0,0,0" 
         Click="Go_Click"/> 
      </Grid> 
      <WebView x:Name="MiniBrowser" 
        Height="Auto" 
        Width="Auto" 
        HorizontalAlignment="Stretch" 
        VerticalAlignment="Stretch" 
        ScrollViewer.ZoomMode="Disabled" 
        ScrollViewer.VerticalScrollBarVisibility="Disabled" 
        Loaded="MiniBrowser_Loaded" 
        NavigationFailed="MiniBrowser_NavigationFailed" NavigationCompleted="MiniBrowser_NavigationCompleted" 
        Visibility="Visible"/> 
     </StackPanel> 
    </Grid> 
</Page> 

है और बटन और वेबव्यू के लिए प्रासंगिक ईवेंट हैंडलर्स

private void Go_Click(object sender, RoutedEventArgs e) 
     { 
      String site = URL.Text; 
      MiniBrowser.Navigate(new Uri(site, UriKind.Absolute)); 
     } 

     private void MiniBrowser_Loaded(object sender, RoutedEventArgs e) 
     { 
      String site = URL.Text; 
      MiniBrowser.Navigate(new Uri(site, UriKind.Absolute)); 
     } 

     private void MiniBrowser_NavigationFailed(object sender, WebViewNavigationFailedEventArgs e) 
     { 
      ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01; 
      XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); 
      XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text"); 
      toastTextElements[0].AppendChild(toastXml.CreateTextNode("Hello World!")); 
      ToastNotification toast = new ToastNotification(toastXml); 
      ToastNotificationManager.CreateToastNotifier().Show(toast); 
     } 

     private void MiniBrowser_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) 
     { 
      ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01; 
      XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); 
      XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text"); 
      toastTextElements[0].AppendChild(toastXml.CreateTextNode("Nav Complete")); 
      ToastNotification toast = new ToastNotification(toastXml); 
      ToastNotificationManager.CreateToastNotifier().Show(toast); 
     } 
    } 

हैं मैं पेज है कि दोनों चलने से देख सकते हैं शुरूआत में और जब मैं जाओ बटन पर क्लिक करता हूं तो नेविगेशन पूर्ण घटना को एनवी पूर्ण पोस्ट पॉप अप के रूप में बुलाया जा रहा है लेकिन एक्सबॉक्स वेबपृष्ठ जो लोड नहीं हो रहा है दिखाई नहीं दे रहा है।

मैंने एक्सएमएल को tweaked किया है जो प्रदर्शन में दिखाया गया है जैसा कि देखा जा सकता है, इसलिए केवल एक कंटेंट रूट ग्रिड रखने के बजाय, मैंने क्षैतिज स्टैक पैनल को घोंसला दिया है जिसमें एड्रेस टेक्स्टबॉक्स और बटन है, वेबव्यू इसके नीचे है।

मैं भी WebView के रूप में फोन करने के लिए विरोध का उपयोग किया है:, ट्यूटोरियल में के रूप में WebBrowser के बाद से इस WP8.1 में मौजूद प्रतीत नहीं होता है, तो यह अच्छी तरह से समस्या हो सकती है ...

करता है किसी को पता है कि यह गलत है कि मैं गलत तरीके से कर रहा हूं, या कोई भी टिप्पणी कर सकता है कि जिस शैली का मैं उपयोग कर रहा हूं, वैसे भी सुधार किया जा सकता है।

एक नया मंच सीखना हमेशा एक चुनौती है क्योंकि आप कोशिश करते हैं और चीजों को अलग-अलग तरीके से कैसे किया जाता है; विंडोज फोन निश्चित रूप से एंड्रॉइड के लिए काफी अलग है जो मैं अधिक परिचित हूं!

अग्रिम धन्यवाद

संपादित करें:

मैं बाहर टिप्पणी है कि मैं क्या पृष्ठ सामग्री (पाठ बॉक्स, बटन और वेबव्यू) और ट्यूटोरियल से आदर्श XAML डालने के रूप में इस के लिए था द्वारा XAML कोड को बदलने की कोशिश की

<!--ContentPanel - place additional content here--> 
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <TextBox x:Name="URL" Margin="10,10,85,0" Text="http://www.xbox.com" VerticalAlignment="Top"/> 
    <Button x:Name="Go" Content="Go" HorizontalAlignment="Right" Margin="346,10,0,0" VerticalAlignment="Top"/> 
    <phone:WebBrowser x:Name="MiniBrowser" Margin="10,82,0,0"/> 
</Grid> 

लेकिन मैं पहले जहां वेबव्यू बस, काले दिखाया जा रहा है और साथ ही आम तौर पर भी बुरा लग रही के रूप में बिल्कुल एक ही मुद्दा मिल ...

View of emulator with template xaml from tutorial

मुझे लगता है कि यह समस्या अनुमानित फोन के बीच अंतरों के कारण है: WebBrowser और WebView जिसका मैं उपयोग कर रहा हूं।

+0

जो कोई भी downvoted, मैं समय की सराहना करेंगे, ले जाया जा रहा एक अनुभवहीन विंडोज फोन डेवलपर – o0rebelious0o

उत्तर

6

मुझे इस मुद्दे को मिला और ठीक किया गया है।

<WebView x:Name="MiniBrowser" 
     Height="425" 
     HorizontalAlignment="Stretch" 
     VerticalAlignment="Stretch" 
     ScrollViewer.ZoomMode="Disabled" 
     ScrollViewer.VerticalScrollBarVisibility="Disabled" 
     Loaded="MiniBrowser_Loaded" 
     NavigationFailed="MiniBrowser_NavigationFailed" 
     NavigationCompleted="MiniBrowser_NavigationCompleted" 
     Visibility="Visible"/> 

अब यह काम करता है के लिए

<WebView x:Name="MiniBrowser" 
     Height="Auto" 
     Width="Auto" 
     HorizontalAlignment="Stretch" 
     VerticalAlignment="Stretch" 
     ScrollViewer.ZoomMode="Disabled" 
     ScrollViewer.VerticalScrollBarVisibility="Disabled" 
     Loaded="MiniBrowser_Loaded" 
     NavigationFailed="MiniBrowser_NavigationFailed"   
     NavigationCompleted="MiniBrowser_NavigationCompleted" 
     Visibility="Visible"/> 

इसे बदलने द्वारा: समस्या XAML में वेबव्यू की मेरी घोषणा के साथ किया गया था। यह दिखाता है कि समस्या ऊंचाई = "ऑटो" का उपयोग कर थी। यह ऊंचाई को 0 पर सेट कर रहा था, इसलिए यह वास्तव में प्रदर्शित नहीं हो रहा था।

The application working and displaying correctly

+0

धन्यवाद से मुझे कुछ हद तक स्पष्ट प्रश्न था, जो एक रचनात्मक टिप्पणी जोड़ने के लिए धन्यवाद। यह मेरे लिए सहायक था – BBH1023

1

मैं यह एहसास एक विंडोज फोन 8 ट्यूटोरियल है, लेकिन लगा विंडोज़ 8.1 निश्चित रूप से बड़े पैमाने पर अलग नहीं किया जा सकता?

आप जो एक बहुत सिल्वरलाइट क्षुधा से अलग, कि ट्यूटोरियल में से एक की तरह है एक विंडोज रनटाइम एप्लिकेशन बना रहे हैं।

आप विंडोज फोन 8.1 के लिए विकसित करने के लिए चाहते हैं (और यह भी Windows 8.1) आप WinRT ट्यूटोरियल का पालन करना चाहिए, मैं तुम्हें यह एक सुझाव है:

http://channel9.msdn.com/Series/Windows-Phone-8-1-Development-for-Absolute-Beginners

संबंधित मुद्दे