【问题标题】:Silverlight HorizontalAlignment not workingSilverlight 水平对齐不起作用
【发布时间】:2011-06-17 15:13:15
【问题描述】:

我正在尝试在代码中而不是 XAML 中设置 Image Horizo​​ntalAlignment 属性,但它无法正常工作:

网格网格 = 新网格(); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); 图片 img = new Image() { Source = new Uri("myImage.png") }; Grid.SetColumn(img, 1); img.Horizo​​ntalAlignment = Horizo​​ntalAlignment.Right; grid.children.Add(img);

此代码应创建一个单行两列的网格,然后应将图像添加到第二列并一直锚定到右侧,但图像仍锚定在第二列的左侧.

这怎么可能? VerticalAlignment 在图像上正常工作...

【问题讨论】:

    标签: silverlight silverlight-4.0


    【解决方案1】:

    Image.Stretch 属性的默认值为Stretch.Uniform。在我看来,您希望将其设置为 Stretch.None

     img.Stretch = Stretch.None
    

    然后事情就会如你所愿。

    【讨论】:

      【解决方案2】:

      好吧,您的“图像”行似乎遗漏了一些东西,但这似乎不是问题。我认为问题在于网格改变了其元素的大小,因此图像似乎保持了整个“单元格”的大小。给你的图片一些小的宽度和高度,看看会发生什么。

      或检查:

      Grid grid = new Grid();
      grid.ColumnDefinitions.Add(new ColumnDefinition());
      grid.ColumnDefinitions.Add(new ColumnDefinition());
      
      Image img = new Image() 
          { Source = new BitmapImage(new Uri("SaveIcon.PNG", UriKind.Relative)) };
      img.Width = 32D;
      img.Height = 32D;
      
      Grid.SetColumn(img, 1);
      img.HorizontalAlignment = HorizontalAlignment.Right;
      
      grid.Children.Add(img);
      
      LayoutRoot.Children.Add(grid);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-18
        • 1970-01-01
        • 2011-01-26
        • 2021-04-06
        • 1970-01-01
        • 2013-11-09
        • 2015-02-01
        相关资源
        最近更新 更多