Подскажите как добавить в сетку Grid элемента StackPanel кнопки. Мой код:
<StackPanel Grid.Row="2" Width="350" Height="50" Name="ButtonsPanel" Background="#99000000" Orientation="Horizontal" SnapsToDevicePixels="True">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="350" />
</Grid.ColumnDefinitions>
<!-- Put buttons here. -->
</Grid>
</StackPanel>
Если я статически прописываю кнопки в StackPanel, то всё работает нормально. Кнопки воспринимают HorizontalAlignment и Margin. Но количество кнопок определяется в зависимости от условий и статический вариант больше не подходит. А если добавляю их программно, то кнопки не отображаются. Если я убираю Grid сетку из StackPanel, то кнопки все собираются в кучу по левому краю.
Добавляю так:
var button = new Button
{
Name = "testButton",
Content = "Test 1",
Width = 80,
Margin = new Thickness(0, 10, 0, 0),
Style = (Style) Application.Current.FindResource("Flat"),
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Center,
};
this.ButtonsPanel.Children.Add(button);
Естественно кнопок разное количество и параметры HorizontalAlignment и Margin меняются в зависимости от количества кнопок.