0
我想顯示彈出使用AbsoluteLayout。點擊按鈕後,Iam將stacklayout設置爲可見。但沒有顯示。StackLayout isVisible屬性不工作在Xamarin形式
<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;
}
我試圖popupLayout的知名度OnAppearing設置爲false,然後啓用按鈕點擊,仍然有同樣的行爲。
更新:添加代碼細節。通過設置popupLayout的背景,我開始知道按鈕點擊佈局是可見的,但其內容/子項不顯示。我們是否應該分別啓用子視圖/元素?
我敢肯定它是ISVISIBLE =與 「假」 - >「< - 如果你錯過了,你可能有一個編譯器的問題,我已經在StackLayouts和Grids上應用了IsVisible並且從來沒有遇到過這個問題。但是你也可以檢查這篇文章http://stackoverflow.com/questions/29006354/toggling-isvisible-for-an-stacklayout-inside-scrollview-如果您使用的是舊版本的Xamarin,則不會更新。 – eX0du5
您似乎很奇怪不要給任何'AbsoluteLayout'子任何'AbsoluteLayout.LayoutBounds'。如果你這樣做會發生什麼? –
爲了簡化,我用這種格式表示了我的代碼。 LayoutBounds實際上定義爲 – user3165999