Динамическое добавление элементов. Не добавляются элементы на странице

В общем, пытаюсь реализовать, что при переходе на страницу услуг, они должны выводится в StackPanel, каждой услуге свой StackPanel с определённой разметкой. Суть такая что при запуске программы и переходе на страницу, страница просто пустая, хотя метод запускается и всё проходит.

Вот метод, который призывается после инициализации.

private void GenerateList()
        {
            foreach (Service service in AvtoService.Service.ToList())
            {
                //Создание StackPanel которая будет являтся оболочкой для карточки услуги
                StackPanel stackPanel = new StackPanel()
                {
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment = VerticalAlignment.Top,
                    Margin = new Thickness(10)
                };

                //Добавление созданного StackPanel на Grid
                MainServicesGrid.Children.Add(stackPanel);

                //Создание внутреннего Grid'а
                Grid gridIn = new Grid();

                //Объявление строк и столбцов для Grid'а
                ColumnDefinition gridCol1 = new ColumnDefinition()
                {
                    Width = new GridLength(2, GridUnitType.Star),
                };
                ColumnDefinition gridCol2 = new ColumnDefinition()
                {
                    Width = new GridLength(3, GridUnitType.Star),
                };
                ColumnDefinition gridCol3 = new ColumnDefinition()
                {
                    Width = new GridLength(3, GridUnitType.Star),
                };

                RowDefinition gridRow1 = new RowDefinition();
                RowDefinition gridRow2 = new RowDefinition();
                RowDefinition gridRow3 = new RowDefinition();
                RowDefinition gridRow4 = new RowDefinition();

                //Добавление объявленных строк и столбцов во внутренний Grid
                gridIn.ColumnDefinitions.Add(gridCol1);
                gridIn.ColumnDefinitions.Add(gridCol2);
                gridIn.ColumnDefinitions.Add(gridCol3);

                gridIn.RowDefinitions.Add(gridRow1);
                gridIn.RowDefinitions.Add(gridRow2);
                gridIn.RowDefinitions.Add(gridRow3);
                gridIn.RowDefinitions.Add(gridRow4);

                //Добавление внутреннего Grid'а в StackPanel
                stackPanel.Children.Add(gridIn);

                //Инициализация изображения для ImageSource
                BitmapImage BtmpImg = new BitmapImage();
                BtmpImg.UriSource = new Uri(service.MainImagePath,UriKind.Relative);

                //Создание элемента Image
                Image image = new Image()
                {
                    Source = BtmpImg,
                    Margin = new Thickness(5),
                };

                //Привязка изображения к Grid
                image.SetValue(Grid.RowSpanProperty, 4);
                image.SetValue(Grid.ColumnProperty, 0);

                stackPanel.Children.Add(image);
            }

MainServicesGrid это x:Name грида на форме в XAML.

Тут метод вызывается

public partial class ServicesPage : Page
    {
        AvtoServiceEntities AvtoService;

        public ServicesPage(bool IsUserAdmin)
        {
            AvtoService = new AvtoServiceEntities();

            InitializeComponent();

            GenerateList();       
        }

Нужно снова натыкать носом в ошибки, и подсказать почему не выводятся элементы. Пробовал по-всякому и на события инициализации и loaded назначать и ставить генерацию вне метода. Страницы вызываются во Frame который находится на главном окне.


Ответы (0 шт):