Лучший способ решить проблему - реализовать пользовательский контейнер, полученный из stackpanel, но быстрое и грязное решение, если элементы добавлены во время выполнения
public Window1()
{
InitializeComponent();
for (int i = 0; i < 10; i++)
{
Button btn = new Button();
btn.Content = "Button " + i;
MyStack.Children.Insert(0, btn);
}
}
Просто вставьте элемент в 0 позицию вместо добавления .