Боюсь, это невозможно декларативно в XAML с StackPanel
напрямую. В Silverlight / WPF существует концептуальная философия, согласно которой панель не должна изменять свойства своих дочерних элементов. Таким образом, вы могли бы реализовать свою собственную Panel, которая делает это в любом случае, или вы могли бы использовать ItemsControl
, например:
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentPresenter Margin="10,0" Content="{Binding Content}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
[...]
</ItemsControl>
ItemsControl
по умолчанию использует StackPanel
, вы можете использовать его свойство ItemsPanel
, чтобы определить другую панель как ItemsPanelTemplate
, если хотите.