Я пытаюсь, чтобы кнопка содержала текст с изображением. В идеале текст должен быть выровнен по левому краю, а изображение должно быть максимально правым.
Итак, я создаю сетку, добавляю к ней изображение и текстовый блок и устанавливаю его выравнивание. На всю жизнь я не могу заставить себя действовать так, как ожидалось.
var gridPanel = new Grid();
gridPanel.ColumnDefinitions.Add(new ColumnDefinition());
var text = new TextBlock { Text = header, TextAlignment = TextAlignment.Left };
text.HorizontalAlignment = HorizontalAlignment.Left;
text.Margin = new Thickness(0);
text.SetValue(Grid.RowProperty, 0);
text.SetValue(Grid.ColumnProperty, 0);
var image = new Image();
image.Source = new BitmapImage(new Uri("../Images/Common/RedFlag.png", UriKind.Relative));
image.HorizontalAlignment = HorizontalAlignment.Right;
image.Height = 25;
image.Width = 25;
image.SetValue(Grid.RowProperty, 0);
image.SetValue(Grid.ColumnProperty, 1);
gridPanel.Children.Add(text);
gridPanel.Children.Add(image);
button.Content = gridPanel;
И изображение, и текст по какой-то причине выровнены по центру ... Является ли Grid неправильным путем? Я попробовал StackPanel и установил его ориентацию по горизонтали, но это было то же самое ..