【问题标题】:Silverlight 3 Button - Text + Image Alignment ProblemsSilverlight 3 按钮 - 文本 + 图像对齐问题
【发布时间】:2011-01-19 22:51:09
【问题描述】:

我试图让一个按钮同时包含图像文本。理想情况下,文本左对齐,而图像尽可能靠右。

所以我创建了一个网格,并在其中添加了一个图像和文本块并设置它的对齐方式。在我的一生中,我无法按预期行事。

 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;

由于某种原因,图像和文本都居中对齐...网格是错误的方式吗?我尝试了 StackPanel 并将其方向设置为水平,但它是同一件事..

【问题讨论】:

    标签: asp.net c#-4.0 silverlight-3.0


    【解决方案1】:

    默认情况下,按钮的 Horizo​​ntalContentAlignment 设置为“Center”...只需将其设置为“Stretch”即可:

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

    【讨论】:

      【解决方案2】:

      将 Horizo​​ntalContentAlignment 从 Center 更改为 Stretch,例如-

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

      编辑- 我最初是在按钮样式中执行此操作的,因为我不知道 Horizo​​ntalContentAlignment 属性

      【讨论】:

        猜你喜欢
        • 2013-02-26
        • 2011-09-05
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-05
        相关资源
        最近更新 更多