为什么不'宽度给我在Xamarin.Forms中的ParentView's宽度

本文关键字:中的 Forms ParentView 宽度 Xamarin 为什么不 | 更新日期: 2023-09-27 18:01:30

就是这么简单。我想在Xamarin.Forms中设置整个屏幕的宽度。当我调用ParentView.Width时,它会为我返回父视图的宽度。相反,它返回给我一个异常。"对象引用不是对象的实例"

如何获得父视图的宽度,以便我可以基于该宽度操作子元素?例如:

int xPos = this.Width*0.5;
//or 
int xPos = ParentView.Width*0.5;

为什么不'宽度给我在Xamarin.Forms中的ParentView's宽度

如果需要屏幕的宽度,可以使用

在Android:

Resources.DisplayMetrics.WidthPixels

或(更可能):

Resources.DisplayMetrics.WidthPixels / 
            Resources.DisplayMetrics.Density

如果你想用dip而不是像素。(所有Xamarin的。窗体控件使用dip(宽度请求和高度请求)。

在iOS:

UIScreen.MainScreen.Bounds.Width

你也可以创建一个接口并使用DependencyService返回每个平台的宽度到你的共享项目