Проблема решена. Смотрите комментарии от FayWang ниже.
Добавлена информация.
ОК. Я добавил код для удаления элементов. Удаление (по одному). При просмотре одного изображения ... все 25 создаются в одном месте. Проблема в Sub для создания новых изображений. Некоторые из них не имеют изображения, так как источник не был установлен. Не объясняет, почему они все имеют одинаковые координаты. И тогда следующая загрузка может работать нормально или нет.
Я, вероятно, буду чувствовать себя действительно глупо, но ....
Я только что создал быструю и короткую программу ( C# UWP VS 2019). Он собирается построить 25 изображений на экран. Я собирался добавить кнопку удаления их всех (пытаясь найти утечку памяти) и добавить их обратно, но так и не дошло.
Программа не компилирует ошибок. Я запускаю это. Обычно вместо 25 изображений я ВИДЮ 1. При первом запуске. Просто запустите его снова (без перестройки или изменения кода), и я могу получить 25. Я не могу сказать, что произойдет.
После последней сборки за 10 запусков я получил 1, 25, 1, 25, 25, 1, 25, 25, 25, 1
Также на 1 изображении. Кажется, они находятся в разных местах.
Я помещаю полный код ниже. Я часто делаю ошибки. Но это просто повторный запуск кода.
Кроме того, я только что переустановил Visual studio сегодня утром.
![One Smiley](https://i.stack.imgur.com/iNvJy.png)
![enter image description here](https://i.stack.imgur.com/DwreM.png)
Сначала Xaml внутри тега Page, тогда код позади
<Grid>
<Canvas x:Name="MyCanvas">
<Rectangle x:Name="CutCopyRect"
Height="980" Width="1480"
Fill="LemonChiffon"
Canvas.Left="10" Canvas.Top="10"/>
</Canvas>
public MainPage()
{ this.InitializeComponent();
DrawSomeImages();
}
void DrawSomeImages()
{for (int iCt1 = 0; iCt1 < 5; iCt1++)
{ for (int iCt2 = 0; iCt2 < 5; iCt2++)
{ makeImage(iCt1, iCt2); }
}
}
void makeImage(int inTop, int inLeft)
{ try
{
Image img1 = new Image();
img1.Source = new BitmapImage(new Uri("ms-appx:///Assets/SmileyAngry.png"));
img1.Width = 220;
img1.Height = 220;
img1.SetValue(Canvas.TopProperty, (inTop * 38));
img1.SetValue(Canvas.LeftProperty, (inLeft * 39));
MyCanvas.Children.Add(img1);
}
catch (Exception ex)
{
string thisProc = System.Reflection.MethodBase.GetCurrentMethod().ToString();
Debug.WriteLine("Error Message: ", ex.Message, " In " + thisProc);
}
}