2014-03-31 77 views
0

我想在Silverlight中的代碼隱藏中繪製圖片。因爲我會根據Web服務信息從他們那裏抽出很多。但是對於這個,當我使用image.Margin.Left並且給出錯誤時。我該如何處理?定義Silverlight圖像的座標

 Image image = new Image(); 
     image.Source = new BitmapImage(new Uri("wall.png", UriKind.Relative)); 
     image.Height = 120; 
     image.Width = 120; 
     image.Margin.Left = 20; 

     LayoutRoot.Children.Add(image); 

回答

0

Margin屬性不能用這種方式來改變,你可以這樣做:

image.Margin = new Thickness(left, top, right, bottom); 
0

約在代碼中設置保證金對方回答是100%正確的。 因此,這意味着探索框架爲這種「圖片庫」提供的可能性。

安排圖片編程 - 你可以使用一個Canvas:只要你想要的圖片重疊,你可以很容易地通過Canvas.SetZIndex(image,42)控制哪一個是在頂部設置了Z指數(在Grid

var image = new Image { 
    Source = new BitmapImage(new Uri("wall.png", UriKind.Relative)), 
    Height = 120, 
    Width = 120 
}; 
Canvas.SetLeft(image, 20); 
Canvas.Children.Add(image); 

你將需要重新排列子訂單,這更麻煩)。

<ItemsControl ItemsSource="{Binding Path=WebServiceResult.Images}"> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate><WrapPanel/></ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
     <Image Source="{Binding Path=SourceUri}" Height="120" Width="120" Margin="20,0,0,0"/> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
:外的現成或定製 - 通過 ItemsControl

排號圖片