Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#][WPF] Canvas et Image

Dans une ObservableCollection

    2 février 2012 à 17:43:45

    Bonjour,

    J'ai besoin d'afficher une image dans un Canvas.
    Pour cela j'utilise une ObservableCollection<UIElement> qui est bindé par mon Canvas.

    <ItemsControl ItemsSource="{Binding Imgs}">
      <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
          <Canvas></Canvas>
        </ItemsPanelTemplate>
      </ItemsControl.ItemsPanel>
    </ItemsControl>
    


    Et dans mon code quand je veux ajouter mon image dans mon Canvas je fais ceci :

    Image remote = new Image();
    BitmapImage tmp = new BitmapImage(new Uri(@"Config\RemoteIRImg.png", UriKind.Relative));
    remote.Source = tmp;
    Imgs.Add(remote); // Imgs étant mon ObservableCollection<UIElement>
    


    Le soucis, c'est que mon image apparaît dans mon Canvas que de manière, si je peux le qualifier comme ça, aléatoire :(
    J'ai cru remarquer que lorsque je met des breakpoints autour de ce bout de code, l'image apparaît plus souvent...

    Des idées sur l'origine du problème ? :-°
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      2 février 2012 à 18:08:36

      Pourquoi créer une ObservableCollection et utiliser un ItemsControl si c'est pour afficher une seule image ?
      • Partager sur Facebook
      • Partager sur Twitter
        3 février 2012 à 9:11:30

        Je veux pouvoir afficher par dessus des formes (ellipse, carré...)
        Je débute en WPF surtout pour ce qui est du binding.
        Mon bout de code XAML, je l'ai piqué sur un autre topic.

        Mais au delà de mon choix d'utiliser une ObservableCollection, ce que je voudrais comprendre c'est pourquoi mon image ne s'affiche pas à tous les coups, alors que lorsque j'ajoute mes ellipses et autres elles s'affichent o_O
        • Partager sur Facebook
        • Partager sur Twitter
          10 février 2012 à 15:50:46

          Salut, pour ce qui est de l'ellipse je te conseil le site msdn ou il y a un exemple d'utilisation http://msdn.microsoft.com/en-us/librar [...] ent.clip.aspx

          Sinon pour l'affichage je trouve vraiment bizarre que l'image s'affiche aléatoirement, l'informatique c'est magique ??

          Essaye de créer ton image plutôt comme ça :


          Image img = new Image();
          img.Height = 50;
          img.Source = ((ImageSource)(System.ComponentModel.TypeDescriptor.GetConverter(typeof(ImageSource)).ConvertFromInvariantString(@"uri")));
          • Partager sur Facebook
          • Partager sur Twitter

          [C#][WPF] Canvas et Image

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown