на ней кнопка с свойством Clicked="Btn1Clicked", в коде страницы
                  
                  
                          async void Btn1Clicked (object sender, EventArgs args)
                  
                  
                          {
                  
                  
                              await Navigation.PushAsync(new Page2());
                  
                  
                          }
                  
                  
                  На странице Page2 два контрола – DataGrid и кнопка. Данные в Datagrid загружаются из ObservableCollection, созданной ранее и уже находящейся в памяти.  В коллекции в одном поля Image = ImageSource.FromUri(new Uri ("https://адрес картинки.jpg")), соответственно в Datagrid есть поле Image. При нажатии кнопки перехода с Page1 приложение открывает страницу Page 2 через 3-5 секунд. Если закомментировать Datagrid, то страница открывается менее чем за 1 секунду. Я понимаю, что загрузка рисунков с интернета может занимать некоторое время, но не очень удобно, что после нажатия кнопки ничего не происходит. У Syncfusion есть контрол SfShimmer (https://help.syncfusion.com/xamarin/shimmer/overview), который бы мне подошёл. Я его добавил в Xaml и DataGrid перенес в <shimmer:SfShimmer.Content>.  Проблема заключается в том, что он инициализируется одновременно с Datagrid смысла от него никакого нет, т.к. при нажатии кнопки страница все равно открывается не сразу. Можно ли каким то образом не прорисовывать Datagrid при вызове InitializeComponent(); а сделать это позже в коде, чтобы страница открывалась сразу, пока отрисовывается DataGrid отображался Shimmer либо другой индикатор загрузки?
                  
                  
                
Как коллекцию задаёте и когда?
Обсуждают сегодня