2016-01-13 66 views
2

正如標題所述,我正在構建Windows通用應用程序,並試圖加載作爲我的應用程序包一部分的.html文件,但我無法執行此操作。無法在WindowsUniversal應用程序中使用WebView控件打開.html文件

該應用彈出一個對話框,表示我需要在商店中找到另一個應用程序以在運行時打開此ms-appx。

我在我的文件類型聲明中指定了.html,在這一點上我沒有想法。我錯過了什麼?

我會添加一些信息的附加位: 當通過XAML設計師指定源自動生成的屬性是:Source="ms-appx:///Assets/MyFile.html"

我創建了一個自定義的ContentDialog控制而這正是我試圖加載我帶有.html資源的WebView。有趣的是,當我修改我的Source屬性爲ms-appx-web在一個正常的XAML頁面元素時,它正確顯示了我的文件。但是,當我做同樣的事情時,ContentDialog仍然不顯示任何內容。

不太確定會導致這種差異。

+1

可能的重複http://stackoverflow.com/questions/10684741/load-local-html-file-in-webview-metro-style-app –

+0

@MehrzadChehraz增加了額外的說明以避免重複。 –

+0

我用一個普通的ContentDialog控件進行了測試,它[效果很好](http://i.stack.imgur.com/lvtsi.png)。你能分享一個簡單的樣本,可以重現你的問題? –

回答

0

只是一個想法。項目中包含的HTML文件如何? 查看文件屬性 - >高級 - > BuildActíon。

它是「編譯」,「內容」,「嵌入式資源」。試着去玩,這在我的解決方案中有時是一個問題。

HTH, 奧利弗

1

這裏是一個快速的樣品告訴我,這可以幫助您:

我在我的資產HTML文件文件夾,名爲MyHTMLPage,它的類型的內容和構建行動複製到輸出以始終複製。 我的HTML文件:

<!DOCTYPE html> 

<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="utf-8" /> 
    <title></title> 
</head> 
<body> 
<div style="background-color: chartreuse">HELLO WORLD, from a webview</div> 
</body> 
</html> 

在我的主要Page.xaml:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
     <WebView x:Name="MyWebView" Width="200" Height="300"></WebView> 
    </Grid> 

在我的主要Page.cs:

public sealed partial class MainPage : Page 
    { 
     public MainPage() 
     { 
      this.InitializeComponent(); 
      Loaded += MainPage_Loaded; 
     } 

     private void MainPage_Loaded(object sender, RoutedEventArgs e) 
     { 
      string src = "ms-appx-web:///Assets/MyHTMLPage.html"; 
      this.MyWebView.Navigate(new Uri(src)); 
     } 
    } 

,瞧這應該工作,你應該看到的東西像這樣: 它不漂亮^^: enter image description here

相關問題