2010-02-19 23 views
0

s.jpg ajouté à la solution avec BuildAction == Resource.Silverlight: Comment dessiner des images dynamiquement?

XAML

<UserControl x:Class=...> 
    <Canvas x:Name="LayoutRoot">    
    </Canvas> 
</UserControl> 

CS

Image Model = new Image(); 
Model.Source = new BitmapImage(new Uri("/s.jpg", UriKind.Relative)); 
LayoutRoot.SetLeft(Model, Coor.X); 
LayoutRoot.SetTop(Model, Coor.Y); 
Model.Width = 50; 
Model.Height = 30; 
LayoutRoot.Children.Add(Model); 

Voici ma question: est mon image était? Il has't est apparu sur l'écran, mais si je change XAML à

<UserControl x:Class=...> 
    <Canvas x:Name="LayoutRoot"> 
     <Image Source="s.jpg"></Image> 
    </Canvas> 
</UserControl> 

vous pouvez le voir, même si le changement CS à

Ellipse Model = new Ellipse(); 
Model.Fill = new SolidColorBrush(Colors.Gray); 
Model.Stroke = new SolidColorBrush(Colors.Blue); 
LayoutRoot.SetLeft(Model, Coor.X); 
LayoutRoot.SetTop(Model, Coor.Y); 
Model.Width = 50; 
Model.Height = 30; 
LayoutRoot.Children.Add(Model); 

Je vais voir cette ellipse. Alors, quel est le problème?

Répondre

0

Essayez:

ImageSource imgSrc = new BitmapImage (new Uri ("http://server/path/s.jpg", UriKind.RelativeOrAbsolute));

LayoutRoot.Children.Add (imgSrc); LayoutRoot.UpdateLayout();