【发布时间】:2011-06-17 15:13:15
【问题描述】:
我正在尝试在代码中而不是 XAML 中设置 Image HorizontalAlignment 属性,但它无法正常工作:
此代码应创建一个单行两列的网格,然后应将图像添加到第二列并一直锚定到右侧,但图像仍锚定在第二列的左侧.
这怎么可能? VerticalAlignment 在图像上正常工作...
【问题讨论】:
标签: silverlight silverlight-4.0
我正在尝试在代码中而不是 XAML 中设置 Image HorizontalAlignment 属性,但它无法正常工作:
此代码应创建一个单行两列的网格,然后应将图像添加到第二列并一直锚定到右侧,但图像仍锚定在第二列的左侧.
这怎么可能? VerticalAlignment 在图像上正常工作...
【问题讨论】:
标签: silverlight silverlight-4.0
Image.Stretch 属性的默认值为Stretch.Uniform。在我看来,您希望将其设置为 Stretch.None。
img.Stretch = Stretch.None
然后事情就会如你所愿。
【讨论】:
好吧,您的“图像”行似乎遗漏了一些东西,但这似乎不是问题。我认为问题在于网格改变了其元素的大小,因此图像似乎保持了整个“单元格”的大小。给你的图片一些小的宽度和高度,看看会发生什么。
或检查:
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);
【讨论】: