IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Binding et dessin dans un Canvas


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 69
    Points : 73
    Points
    73
    Par défaut Binding et dessin dans un Canvas
    Bonjour à tous,

    J'ai un problème de convertisseur. J'ai des zones de tracé à dessiner pour lesquelles j'utilise des objets Canvas.

    J'ai une ListBox dont le contenu est bindé avec un convertisseur qui lui renvoie une liste d'objets "ViewModel" représentant les infos sur les zones. Je passe ces objets dans un DataTemplate qui contient un UserControl qui contient le Canvas.
    Pour dessiner dans ces Canvas, je suis obligé de passer par l'évènement "Loaded" car dans le constructeur, le DataContext contenant la description des zones n'est pas encore disponible.

    Tout cela fonctionne à peu près correctement, sauf lorsque j'essaye d'imprimer grâce à un Fixed ou un FlowDocument. En effet, dans ce cas, on ne passe pas dans les évènements "Loaded" donc on ne dessine pas les zones...

    Du coup j'ai essayé de faire mon sioux et de retourner par le convertisseur un objet Canvas directement, contenant toutes les zones. Seulement je ne trouve pas comment l'afficher ensuite.

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ListBox Width="500" Height="100">
        <ListBox.DataContext>
            <MultiBinding Converter="{StaticResource mainCanvasConv}" >
                <MultiBinding.Bindings>
                    <Binding ... />
                    <Binding ... />
                </MultiBinding.Bindings>
            </MultiBinding>
        </ListBox.DataContext>
    </ListBox>

    Je suis un peu perdu là du coup...
    Sinon il faudrait que, quand j'imprime, j'arrive à forcer l'affichage des pages du FixedDocument...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 69
    Points : 73
    Points
    73
    Par défaut
    Bon j'ai enfin trouvé un composant qui acceptait un objet UIElement (mon objet Canvas) par binding : le ScrollViewer

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                <ScrollViewer>
                    <ScrollViewer.Content>
                        <MultiBinding Converter="{StaticResource mainCanvasConv}" >
                            <MultiBinding.Bindings>
                                ...
                            </MultiBinding.Bindings>
                        </MultiBinding>
                    </ScrollViewer.Content>
                </ScrollViewer>

    J'arrive à dessiner 2-3 trucs sur mon Canvas donc j'espère que je pourrai dessiner mes zones de tracé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MVVM] Binding d'élèments dans un canvas
    Par Oberown dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 17/06/2012, 18h19
  2. WPF C# Masquer des dessins dans un canvas
    Par Towandaa dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 05/03/2012, 15h31
  3. Mettre un event sur un objet dessiné dans un Canvas
    Par calogerogigante dans le forum Tkinter
    Réponses: 11
    Dernier message: 30/01/2010, 09h05
  4. Affichage d'un dessin dans un Canvas lors d'un clic sur une image
    Par totooo dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 19/06/2009, 11h26
  5. Comment effacer le dessin dans un Canvas ?
    Par RoM_CoOl dans le forum Langage
    Réponses: 11
    Dernier message: 29/11/2007, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo