我正在使用一个应用程序,它使用一个图像作为背景,我希望它填充整个窗口,而不管大小。图像源是方形的,如下所示:
最简单的方法是使用AspectFill,如下所示:
<Image
Source="image_source.png"
Aspect="AspectFill"/>
但这会导致图像居中,如下所示:
当我需要的是图像左对齐时,就像这样:
我几乎成功地使用了这个:
<AbsoluteLayout>
<Image
Source="image_source.png"
AbsoluteLayout.LayoutFlags="HeightProportional"
AbsoluteLayout.LayoutBounds="0,0,Autosize,1"/>
</AbsoluteLayout>
但问题是,当我有一个像平板电脑或可折叠的屏幕,这是更宽的水平,它最终得到像这样的信箱:
当我想要的只是一个普通的AspectFill时,就像这样:
指令集
有没有办法用现有的Aspect选项来实现这个行为?如果没有,有没有办法扩展Aspect枚举和渲染器,使图像的表现与AspectFill相同,但锁定到图像的左边缘而不是中心?
我在.NET Maui中使用XAML,所以如果有C#的解决方案,我也愿意接受
1条答案
按热度按时间yr9zkbsy1#
能够从Reddit得到一个解决方案,所以我把它贴在这里给任何偶然发现这个的人:
我的最后一个XAMl
我在代码隐藏中添加了以下内容: