前提
Xamarin.FormsのプロジェクトでTabbledPageを使用してHOMEタブ、PDFタブを作成し、PDFタブに張り付けたWebViewのSourceにPDFのURLを指定することでPDFを表示したいと思っています。
MainPage.xaml
xaml
1<?xml version="1.0" encoding="utf-8"?> 2<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" 3 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 4 xmlns:local="clr-namespace:TabAplication" 5 x:Class="TabAplication.MainPage"> 6 <TabbedPage.BindingContext> 7 <local:VM/> 8 </TabbedPage.BindingContext> 9 <ContentPage Title="Home"> 10 <Grid> 11 <Label HorizontalOptions="Center" VerticalOptions="Center" Text="This is Home"/> 12 </Grid> 13 </ContentPage> 14 <ContentPage Title="PDF"> 15 <Grid> 16 <WebView Source="{Binding PDFURL}"/> 17 </Grid> 18 </ContentPage> 19</TabbedPage>
VM.cs
using System; using System.ComponentModel; using System.Threading.Tasks; namespace TabAplication { public class VM : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private void RaisePropChanged(string name) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } public VM() { } private string _pdfurl = @"ここにPDFのURLを設定"; public string PDFURL { get { return _pdfurl; } set { _pdfurl = value; RaisePropChanged("PDFURL"); } } } }
発生している問題
問題の発生はiOSのシミュレータで確認しました。
VM.PDFURLの初期値を設定することで、設定したURLのPDFが表示されます。
しかしその後タブを切り替えてWebViewを非表示にするような操作を行うと、表示されていたPDFが消えてしまいます。
WebView.Reload()を呼んでみたりもしたのですが、どうにも消えたままで、表示されることはありませんでした。
PDFURLに別のURLを新たに設定すると表示されるようになりますが、タブを切り替えたりするとまた同様の問題が発生します。
この問題はなぜ発生するのでしょうか?回避するにはURLを再設定する以外にないのでしょうか?
###補足情報
iPhone実機なし
macOS Catalina v10.15.7
Visual Studio for mac v8.7.8(build 4)
Xcode v12.0.1(12A7300)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/26 05:43 編集