Xamarin.forms 表单-独立于设备的方式,使底部的条向上滑动以覆盖整个屏幕高度

Xamarin.forms 表单-独立于设备的方式,使底部的条向上滑动以覆盖整个屏幕高度,xamarin.forms,layout,slide,slideup,Xamarin.forms,Layout,Slide,Slideup,我正在Xamarin.Forms中开发一个移动应用程序,屏幕底部有一个“新消息”栏,如下所示: ---------------------- | | | | | | | | | | | | | | |-----------------

我正在Xamarin.Forms中开发一个移动应用程序,屏幕底部有一个“新消息”栏,如下所示:

----------------------
|                    |
|                    |
|                    |
|                    |
|                    |
|                    |
|                    |
|--------------------|
| 4 New Messages   ^ |
----------------------
----------------------
| 4 New Messages   X |
|--------------------|
| - Tomorrow Night   |
| - New product in...|
| - Outing cancelled |
| - Please call me   |
|                    |
|                    |
|                    |
----------------------
当用户单击底部的栏(“4条新消息”)时,我希望该栏与下方的消息标题列表(最初隐藏在视图之外)一起一直滑动到屏幕顶部,以便整个消息区域(“4条新消息”标题,加上下方的消息标题列表)占据整个屏幕,像这样:

----------------------
|                    |
|                    |
|                    |
|                    |
|                    |
|                    |
|                    |
|--------------------|
| 4 New Messages   ^ |
----------------------
----------------------
| 4 New Messages   X |
|--------------------|
| - Tomorrow Night   |
| - New product in...|
| - Outing cancelled |
| - Please call me   |
|                    |
|                    |
|                    |
----------------------
我可以使整个消息区域成为占据整个屏幕的绝对布局(
parentElement.Children.Add(messagesArea,new Rectangle(0,0,1,1),AbsoluteLayoutFlags.All);
),并使用TranslateY使其最初大部分隐藏在屏幕外(除了“4条新消息”栏);然后我可以使用TranslateTo(0,0)让它滑回到全屏高度

但是假设我知道设备的高度。以独立于设备的方式实现这一点的最佳方式是什么?我应该先使用网格布局吗?

获取屏幕宽度和高度:获取屏幕宽度和高度: