xamarin .net maui将图形视图的宽度和高度更改为窗口或屏幕的大小

lh80um4z  于 2022-12-07  发布在  .NET
关注(0)|答案(1)|浏览(349)

我有简单的图形视图

<VerticalStackLayout>
    <GraphicsView x:Name="modelerArea"
        Drawable="{StaticResource drawable}"
                  HeightRequest="1000"
                  WidthRequest="1000" />

我想把宽度和高度设置成窗口或屏幕的大小。我怎么能做到呢?
从xaml.cs文件中,我尝试了类似的操作,但由于字段是只读的,因此出现错误

double height = DeviceDisplay.MainDisplayInfo.Height;
    double width = DeviceDisplay.MainDisplayInfo.Width;
    modelerArea.Width = width;
    modelerArea.Height = height;

谢谢你的提示。

qvtsj1bj

qvtsj1bj1#

填充整个可用空间的一种方法是简单地使用GraphicsView作为唯一的内容项,并使用HorizontalOptionsVerticalOptions来拉伸它:

<ContentPage ...>
    <GraphicsView x:Name="modelerArea"
                  Drawable="{StaticResource drawable}"
                  HorizontalOptions="Fill"
                  VerticalOptions="Fill"/>
</ContentPage>

更多信息:https://learn.microsoft.com/en-us/dotnet/maui/user-interface/align-position?view=net-maui-7.0
或者,在代码隐藏中,也可以使用GraphicsViewWidthRequestHeightRequest属性:

modelerArea.WidthRequest = width;
modelerArea.HeightRequest = height;

这是必要的,因为WidthHeight是只读属性,仅提供实际计算的屏幕尺寸。WidthRequestHeightRequest的值不保证。

**注意:**不能同时使用这两种方法,因为HorizontalOptions="Fill"VerticalOptions="Fill"将覆盖请求得宽度与高度值.

相关问题