首页 > 解决方案 > Xamarin HtmlWebViewSource 未绑定

问题描述

这个绑定确实向我展示了我的 html:

<Label Grid.Row="1" Text="{Binding theInstructions}" />

所以我认为我有约束力。

这个 WebView 确实显示了 Google:

<WebView Grid.Row="1" Source="http://www.google.com" />

所以 WebView 本身在我的 ContentPage 中工作。

但是,无论我制作的 html 多么简单,这个带有绑定的 WebView 都不会显示任何东西:

<WebView 
    Grid.Row="1" HorizontalOptions="Fill" VerticalOptions="EndAndExpand">
    <WebView.Source>
        <HtmlWebViewSource Html="{Binding theInstructions}" />
    </WebView.Source>
</WebView>

我在这里想念什么?

编辑 编辑 编辑

狮子座基本上就在这里,所以很荣幸。这不是绑定问题,而是布局问题。

以下代码确实显示了 HTML:

<WebView Grid.Row="1">
        <WebView.Source>
            <HtmlWebViewSource Html="{Binding theInstructions}" />
        </WebView.Source>
    </WebView>

但仅当 HTML 足够短时。让它加长一行,它就消失了。

而且我已经尝试了 StackLayouts、ScrollView、HeightRequests、MinHeightRequests 等的几十种组合。我所做的任何其他事情都会使 HTML 消失——即使是短的东西也少得多。

我惊呆了 Xamarin 在这么久之后仍然如此糟糕......

所以......这仍然是一个悬而未决的问题。显然绑定的网络视图有问题???

标签: xamlxamarinbinding

解决方案


可能需要设置WebViewWidthRequest的和HeightRequest属性以查看 HTML 内容,具体取决于 WebView 的子布局。例如,这在StackLayout中是必需的。

所以尝试改变如下:

<StackLayout>
   <WebView WidthRequest="1000" HeightRequest="1000">
       <WebView.Source>
           <HtmlWebViewSource Html="{Binding theInstructions}" />
       </WebView.Source>
   </WebView>
</StackLayout>

推荐阅读