Xamarin使矩形从图像继承位置



我只是想通过c#后面的代码来设置这个矩形位置。首先,我在xaml页面中有以下图像:

<Image x:Name="danzo"
Source="danzo.png"
AbsoluteLayout.LayoutBounds="0.5, 0.2, 200, 200"
AbsoluteLayout.LayoutFlags="PositionProportional">
</Image>

正如你所看到的,这只是一张普通的图片,没有什么特别之处。在构造函数中,我试图只获取此图像并显示其尺寸(x、y、宽度和高度(,如下所示:

Console.WriteLine("X Pos: {0}. Y Pos: {1}. Width: {2}. Height: {3}.", danzo.X, danzo.Y, danzo.Width, danzo.Height);

然而,它让我回到了";X位置:0。Y位置:0。宽度:-1。身高:-1;。这一点都不对。这个图像肯定有一些真实的维度值,对吧?如果这很重要的话,我在构造函数中的InitializeComponent函数之后有一行console.writeline代码。

然而我在xaml中创建了一个按钮,并将它的点击函数设置为一个名为";PrintImageDetails";具有与上述完全相同的代码行。结果如何?我得到了";X位置:105.714285714286。Y位置:121.142857142857。宽度:200。高度:200;

因此,无论出于什么原因,我似乎都无法真正获得真实的图像维度,直到构造函数之后。(或者可能有某种方法,但我错过了(这很重要,因为我想将矩形位置设置为图像位置。这就是问题的标题。既然我不能直接在c#代码中获得真实位置,那么我有可能让我的矩形继承.xaml中图像的位置吗?下面是我的矩形代码。它尽可能简单:

<Rectangle x:Name="cropRect"
AbsoluteLayout.LayoutBounds="0.5, 0.2, 200, 200"
AbsoluteLayout.LayoutFlags="PositionProportional"
BackgroundColor="Orange"
Opacity="0.5">

</Rectangle>

我还想做一些数学运算,同时从图像中获得位置,并将其放入矩形中。例如除法。如果可能的话,我们将非常感谢一个关于如何实现的例子。

感谢任何愿意提供帮助的人。

我实际上不必让rect从xaml中的图像继承,因为这个LayoutChildren函数似乎在Code Behind中对我有效。链接此处如何在ContentPage完成加载时获得通知

所以我可以得到图像在这个函数中的位置,然后把它应用到rect上。作品

相关内容

  • 没有找到相关文章