在我的共享便攜式Xamarin項目,該工程對UWP Xamarin.Forms的Windows Phone 8.1和Windows 8.1:網頁視圖的BaseURL在UWP和Windows Phone 8.1
HtmlWebViewSource htmlSource = new HtmlWebViewSource();
htmlSource.Html = @"<html><body><img src='ms-appx-web:///Assets/somePicture.png' /></body></html>";
htmlSource.BaseUrl = DependencyService.Get<IBaseUrl>().Get();
WebView webView = new WebView
{
Source = htmlSource,
};
顯然,這不是跨平臺(iOS和Android)。我想這一點,但它不會對UWP工作的Windows Phone 8.1和Windows 8.1:
HtmlWebViewSource htmlSource = new HtmlWebViewSource();
htmlSource.Html = @"<html><body><img src='somePicture.png' /></body></html>";
htmlSource.BaseUrl = DependencyService.Get<IBaseUrl>().Get();
WebView webView = new WebView
{
Source = htmlSource,
};
IBaseUrl:對UWP
public interface IBaseUrl { string Get(); }
BASEURL執行的Windows Phone 8.1和Windows 8.1,取自一個Windows Phone 8.0 sample project:
[assembly: Dependency(typeof(MyApp.UWP.BaseUrl))]
namespace MyApp.UWP
{
public class BaseUrl : IBaseUrl
{
public string Get()
{
return ""; // "ms-appx-web:///Assets/" doesn't work
}
}
}
我試圖返回的BASEURL的不同變化 「MS-APPX的web:///資產/」, 「MS-APPX的web:///」,放置在文件項目根目錄或「As」設置「目錄,沒有任何工程。
據我所知,這用於在Windows Phone 8.0上工作。
這可以工作,但它必須爲每一個單獨的URL完成,這並不是我最好的解決方案 –
嗯,我看到你的問題。我無法通過UWP找出BaseUrl。但是Regex.Replace呢?這可以工作。 – Matt
我正在Xamarin跨平臺項目上工作,如果將圖像放置在子文件夾內,它不會在屏幕上加載。 「ms-appx:///Assets/abc.png」 – Ashaar