AbsoluteLayoutを使用してポップアップを表示しようとしています。ボタンをクリックすると、スタックレイアウトが表示されるように設定されます。しかし、それは表示されません。ボタンのクリックで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>
、真
public void OnButtonClick(object sender, EventArgs args){
popupLayout.IsVisible = true;
}
に可視性を設定する私はOnAppearingにfalseにpopupLayoutの可視性を設定しようとしたし、その後も同じ挙動を有する、ボタンのクリックで可能になります。
更新:コードの詳細が追加されました。 backgroundをpopupLayoutに設定することで、ボタンクリックのレイアウトは表示されますが、そのコンテンツ/子は表示されません。子ビュー/要素を個別に有効にする必要がありますか? > "< - -
を試してみてください。あなたは、コンパイラの問題がある可能性があり、というミスをすれば、私は過去にStackLayoutsとGrid上にIsVisibleを適用していて、これで問題が発生したことはありませんでしたが、この投稿をチェックすることもできますhttp://stackoverflow.com/questions/29006354/toggling-isvisible-for-an-stacklayout-inside-scrollview-あなたがXamarinの古いバージョンを使用している場合に備えて、正しく更新しません。 – eX0du5
あなたが'AbsoluteLayout.LayoutBounds'を' AbsoluteLayout'子のいずれにも与えません。あなたがそうするとどうなりますか? –
私は単純化のためにこのフォーマットで自分のコードを表現しました。実際にLayoutBoundsが定義されています – user3165999