我是.NET MAUI的新手,有一个简单的问题:
如何使用GraphicsView布局中的所有剩余空间?
我尝试将HorizontalOptions="Fill"
与VerticalOptions="Fill"
结合使用。但只有当我将GraphicsView直接插入ContentPage时才有效。一旦我使用布局将GraphicsView放入其中,它就不会显示。显示这一点的唯一方法是使用具体数字的高度和宽度要求。
为什么我的尝试不起作用,我如何解决这个问题?
这不起作用:
<ContentPage>
<ContentPage.Resources>
<drawable:MyDrawable x:Key="drawable" />
</ContentPage.Resources>
<VerticalStackLayout>
<GraphicsView Drawable="{StaticResource drawable}"
BackgroundColor="Purple"
HorizontalOptions="Fill"
VerticalOptions="Fill"/>
<Label
Text="Hello, World!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ContentPage>
字符串
这是可行的,但有固定的大小:
<ContentPage>
<ContentPage.Resources>
<drawable:MyDrawable x:Key="drawable" />
</ContentPage.Resources>
<VerticalStackLayout>
<GraphicsView Drawable="{StaticResource drawable}"
BackgroundColor="Purple"
HeightRequest="200"
WidthRequest="200" />/>
<Label
Text="Hello, World!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ContentPage>
型
2条答案
按热度按时间cwdobuhd1#
StackLayout在一个方向上不受限制,无论是垂直还是水平。因此,您将无法使用
Fill
选项来占用该特定方向上的所有可用空间。如果你想占用整个可用空间,你应该使用网格:
字符串
这里,Grid的第一行将使用 * 星星 * 选项占用尽可能多的空间,而第二行仅占用使用行高的 auto 选项来适应Label所需的空间。
*AndExpand
LayoutOptions在MAUI中已弃用,不应再使用。*pinkon5k2#
您可以使用
VerticalOptions="FillAndExpand"
这样设置StackLayout。字符串
的数据