Xamarin表单 - 修改自定义渲染器中的其他元素大小

时间:2017-02-23 19:35:44

标签: xamarin xamarin.ios xamarin.android xamarin.forms

我试图实现在ListView中动态更改其高度的WebView。我使用Xamarin表单(PCL)和iOS和Android的单独项目主要用于自定义渲染器。

我试图按照此处说明的解决方案: https://forums.xamarin.com/discussion/comment/184948/#Comment_184948

他实现它的方式是等待100ms以便渲染WebView,然后根据内容的高度更改WebView高度。

就我而言,由于webView位于ListView项目内,因此ListView项目的高度不会相应调整(WebView超出了ListView项目的边界)。

我的问题是,当修改内部的WebView高度时,如何修改ListView项的高度?

感谢您帮助我!

1 个答案:

答案 0 :(得分:0)

  

当修改内部的WebView高度时,如何修改ListView项的高度?

请设置listview属性HasUnevenRows = "True" RowHeight="-1"

如下面的代码将webview身高和体重修改为100,当你设置HasUnevenRows = "True" RowHeight="-1"

时,listview会扭曲webview
<ListView x:Name="listView" HasUnevenRows = "True" RowHeight="-1" >
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <StackLayout   Orientation="Horizontal" >
                        <WebView HeightRequest="100" WidthRequest="100" Source="http://www.google.com/" />
                    </StackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

屏幕截图:

enter image description here