Bonjour et merci pour votre aide. 
Depuis j'ai ajouté un try catch et en essayant l'URI proposée j'obtiens l'exception suivante:
Invalid URI : Invalid port specified
En lisant ton lien, je crois que l'URI appropriée serait celle-ci:
Uri uri = new Uri("/Images/viseur.jpg", UriKind.Relative);
D'ailleurs dans ce cas je n'ai aucune exception mais l'image n'apparait toujours pas.
Je vous montre le XAML et le cs, ça sera peut être plus claire pour vous.
1 2 3 4 5 6 7 8 9
| <controls:TabItem Header="Vetement - Recto" Name="tabItem1">
<Canvas Background="AliceBlue" x:Name="Vetement">
<Polygon Name="MancheGauche" Points="30 50 30 100 70 110 70 50" Fill="Red" MouseMove="Get_Pos" MouseLeave="Reset_Pos" MouseLeftButtonUp="Send_Default" />
<Polygon Name="ZoneMilieu" Points="70 50 200 50 200 200 70 200" Fill="Black" MouseMove="Get_Pos" MouseLeave="Reset_Pos" MouseLeftButtonUp="Send_Default"/>
<Polygon Name="MancheDroite" Points="200 50 200 110 240 100 240 50" Fill="Red" MouseMove="Get_Pos" MouseLeave="Reset_Pos" MouseLeftButtonUp="Send_Default" />
</Canvas>
</controls:TabItem> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| private void Send_Default(object sender, MouseButtonEventArgs e)
{
try
{
Shape root = (Polygon)e.OriginalSource;
this.x = e.GetPosition(relativeTo: (Polygon)e.OriginalSource).X;
this.y = e.GetPosition(relativeTo: (Polygon)e.OriginalSource).Y;
Image image = new Image();
Uri uri = new Uri("/Images/viseur.jpg", UriKind.Relative);
//Uri uri = new Uri("pack://application:,,,/Images/viseur.jpg");
ImageSource img = new System.Windows.Media.Imaging.BitmapImage(uri);
image.Source = img;
this.Vetement.Children.Add(image);
Canvas.SetLeft(image, this.x);
Canvas.SetTop(image, this.y);
Canvas.SetZIndex(image, 100);
MessageBox.Show("Votre défaut à été pris en compte sur la zone '" + root.Name + "' Coordonnées X=" + this.x + " Y=" + this.y);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} |
Merci encore.
Partager