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();
}
我正在尝试使用 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();
}