Xamarin Forms Shell:动态删除 FlyoutFooter

问题描述

似乎用 IsVisible 隐藏 FlyoutFooter 不会导致 Flyout 项目的滚动视图调整大小以占用未使用的空间。

示例:

.xaml 中的页脚声明:

<Shell.FlyoutFooter>
    <StackLayout Spacing="0" BackgroundColor="Pink" HeightRequest="200">
        <Button x:Name="btnCloseTip"
                                    Text="X"
                                    Clicked="btnCloseTip_Clicked"/>
    </StackLayout>
</Shell.FlyoutFooter>

点击处理程序:

    private void btnCloseTip_Clicked(object sender,EventArgs e)
    {
        var footer = (StackLayout)this.FlyoutFooter;
        footer.IsVisible = false;
    }

这隐藏了粉红色的页脚,但是为页脚保留的空间不会重新分配给包含项目的滚动视图,在弹出项目的可滚动列表下方留下 200 个单位高的空白空间。有没有办法强制弹出菜单在隐藏后重新绘制/调整大小?我也尝试将布局边界设置为 0,0 矩形,这也具有相同的(无)效果

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)