Это решение для Android.
Конечно, если мы используем ImageView, у нас есть поле .Id для генерации уникального идентификатора для идентификации представления.
Другой код, без LayoutParameter, но с отдельными переменными работает корректно на всех мобильных телефонах:
Image img1, img2, img3, img4;
img1 = new Image();
img2 = new Image();
img3 = new Image();
img4 = new Image();
setImageParm(img1, 0, localPathyn);
setImageParm(img2, 1, localPathyn);
setImageParm(img3, 2, localPathyn);
setImageParm(img4, 3, localPathyn);
void setImageParm( Image im, int i, string localPathyn) {
im.Aspect = Aspect.AspectFit;
im.HorizontalOptions = LayoutOptions.Center;
im.VerticalOptions = LayoutOptions.Center;
im.Source = ImageSource.FromFile(localPathyn);
im.HeightRequest = 70;
r.Children.Add(im, ()=> new Rectangle(width* i * 0.1f, height* i * 0.1f, 70f, 70f));
}
Я думаю, что метод Children.Add использует идентификацию по x: имя, которое недоступно для изменения кода xamarin, и мы должны написать этот код отдельно для каждой платформы?