【发布时间】:2017-02-05 18:29:04
【问题描述】:
我正在尝试使用 AbsoluteLayout 显示弹出窗口。在单击按钮时,我将 stacklayout 设置为可见。但它没有显示出来。
<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,我知道按钮点击布局是可见的,但它的内容/子项不显示。我们是否必须单独启用子视图/元素?
【问题讨论】:
-
我很确定它是 IsVisible="false" 和 ->"stackoverflow.com/questions/29006354/… 以防万一您使用的是旧版本的 Xamarin。
-
您不给任何
AbsoluteLayout.LayoutBounds任何AbsoluteLayout孩子似乎很奇怪。如果这样做会怎样? -
为了简化,我以这种格式表示我的代码。 LayoutBounds 是实际定义的
-
@eX0du5 在这里以简单形式添加代码时出错
标签: popup xamarin.forms absolutelayout