开发者

Silverlight 3 Button - Text + Image Alignment Problems

I'm trying to have a button contain both an image text. Ideally have the text left aligned, while the image is as far right as possible.

So i create a Grid, and add an Image and Textblock to it and set its alignment. For the life of me i cant get alignment to act as expected.

 var gridPanel = new Grid();
        gridPanel.ColumnDefinitions.Add(new ColumnDefinition());

        var text = new TextBlock { Text = header, TextAlignment = TextAlignment.Left };
        text.HorizontalAlignment = Horizont开发者_如何学JAVAalAlignment.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;

Both the Image and Text are center aligned for some reason...Is Grid the wrong way to go? I tried StackPanel and setting its orientation to Horizontal but it was the same thing..


by default the HorizontalContentAlignment of a button is set at "Center"... Just set it to "Stretch" like that :

button.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Stretch;


Change the HorizontalContentAlignment from Centre to Stretch, like-

<Button Name="button" HorizontalContentAlignment="Stretch"/>

Edit- I was originally doing this in the button style as I didn't know about the HorizontalContentAlignment property

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜