locked
La rotation est sacadée lorsque les fenêtres ont beaucoup de contenu ... RRS feed

  • Question

  • Bonjour,

    J'ai deux fenêtres (control) :
    - la première est visible, c'est le recto
    - la deuxième est cachée, c'est le verso.

    Lorsque j'actionne la rotation de la première fenêtre, elle est visible jusqu'à ses 90° puis elle disparait pour laisser place à la deuxième fenêtre qui elle s'affiche à 90° et finie sa rotation à 180°.

    Cela donne un effet de recto/verso de deux fenêtres assez sympathique.

    Mais lorsque les fenêtres ont beaucoup de contenu (data grid par exemple) l'animation est saccadée.

    J'ai donc décidé de faire la rotation des fenêtres sans leurs contenus et de faire afficher ces derniers que lorsque les animations sont terminées.

    Mais j'ai le même résultat car j'ai pas trouvé mieux de mettre dans des variables le contenu du recto/verso dans la fenêtre Recto de même pour le contenu du verso/recto dans la fenêtre Verso.

    J'espère que vous avez compris.

    Quels sont les autres alternatives à ce problème ?

    J'ai peut-être cette piste qui consisterait de créer une classe qui stockerai chaque contenu dans un tableau.

    Donnez moi votre avis ou conseil.

    D'avance merci,
    Fabiano

    mercredi 10 octobre 2012 09:11

Réponses

  • J'ai finalement externalisé les données dans une classe qui stock les variables. Et cela marche très bien lorsque c'est exécute de façon asynchrone un délégué sur le thread auquel le Dispatcher est associé.

    TargetWindow.Dispatcher.BeginInvoke(() =>
    {
    
    ....
    
    });

    mercredi 10 octobre 2012 14:30