在Silverlight中将对象“排除在文档流程之外”,与CSS绝对定位具有相同的效果?

时间:2011-08-10 12:32:05

标签: silverlight image positioning

使用Silverlight 4时,是否可以将图像设置为绝对位置,并将其从文档流中移出,使其可以自由定位任何网格等?

使用CSS,你可以设置一个元素来使用绝对定位,然后根据它上面的第一个相对父元素将它定位为绝对值。

我希望能够将图像放在屏幕上的任何位置,在页面上的任何其他位置,但在Silverlight中。

我尝试了绝对定位(在后面的代码中)它似乎没有正确定位,它看起来好像默认为水平对齐和垂直对齐为 “中心”

CustomIcon.Source = new BitmapImage(new Uri("http://media.trueachievements.com/imagestore/0000149800/149834.jpg", UriKind.Absolute));
        CustomIcon.SetValue(Canvas.LeftProperty, Pt.X);
        CustomIcon.SetValue(Canvas.TopProperty, Pt.Y);
        CustomIcon.Visibility = System.Windows.Visibility.Visible;

Pt在其他地方正确设置(在调试时选中此项)。

图像位于Xaml中,并设置了x:Name属性,默认设置为Collapsed visibility。

任何想法是否可以获得我描述的相同效果(CSS)但使用Silverlight 4?

1 个答案:

答案 0 :(得分:1)

如果您实际将控件添加到Canvas元素,则画布Left和Top附加属性仅具有效果。

只需将Canvas元素添加到xaml中作为“LayoutRoot”网格中的最后一个元素。您不需要设置其宽度或高度,也不应将其设置为Grid.Row或Column。

现在,当您向此画布添加项目时,它们可以放置在任何位置。