StackLayout isVisible 属性 在 Xamarin Forms 中不工作

StackLayout isVisible property not working in Xamarin Forms

我正在尝试使用 AbsoluteLayout 显示弹出窗口。单击按钮,我将堆栈布局设置为可见。但是没有显示。

<AbsoluteLayout x:Name="absoluteLayout">
    <StackLayout x:Name="layout1"
             BackgroundColor="White"
             Spacing="1"
             AbsoluteLayout.LayoutBounds="0,0,1,1"
              AbsoluteLayout.LayoutFlags="All">
    <StackLayout>
    <StackLayout x:Name="popupLayout"
             BackgroundColor="Gray"
             AbsoluteLayout.LayoutBounds="0,0,1,1"
             AbsoluteLayout.LayoutFlags="All"
             IsVisible="False"
             Spacing="0">
    //Content
    </StackLayout>
</AbsoluteLayout>

点击按钮,将可见性设置为 true

public void OnButtonClick(object sender, EventArgs args){
    popupLayout.IsVisible = true;
}

我尝试在 OnAppearing 中将 popupLayout 的可见性设置为 false,然后在单击按钮时启用,仍然有相同的行为。

更新:添加了代码细节。通过将背景设置为 popupLayout,我了解到在按钮上单击布局是可见的,但不显示其内容/子项。我们是否必须单独启用子视图/元素?

试试这个

public void OnButtonClick(object sender, EventArgs args){
    popupLayout.IsVisible = true;
    popupLayout.ForceLayout();
}

或者

public void OnButtonClick(object sender, EventArgs args){
    popupLayout.IsVisible = true;
    popupLayout.Parent.ForceLayout();
}