У меня есть StackPanel, которая содержит дочерние StackPanels (добавлено в коде позади).
Parent StackPanel
<StackPanel Name="spDaysWeather" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" Grid.Row="3" Orientation="Horizontal">
</StackPanel>
Детские стековые панели
for (int i=1;i<WeatherList.Count;i++)
{
StackPanel StackPanelDay = new StackPanel { Orientation =Orientation.Vertical, VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment= HorizontalAlignment.Stretch};
Label day = new Label { Content = WeatherList[i].weatherdate.DayOfWeek, FontSize = 10 };
System.Windows.Controls.Image imgweather = new System.Windows.Controls.Image { Source = ReturnCultureImage(String.Format("weather_{0}", WeatherList[i].condition.ToLower().Replace(" ", "_"))), Width = 75, Height = 75};
StackPanelDay.Children.Add(day);
StackPanelDay.Children.Add(imgweather);
spDaysWeather.Children.Add(StackPanelDay);
}
Когда я запускаю приложение, я получаю следующий экран
Черный ящик - родительская StackPanel. Красные квадраты - это дочерние StackPanels, которые я добавляю динамически.
Как заставить детей расположиться по центру по вертикали, а также изменить размер при изменении размера окна приложения.
Стоит ли использовать StackPanel или есть другая панель, которая лучше подойдет?
Большое спасибо