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 :

Déclenchement d'évenement depuis un WinFormHosting


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 84
    Points : 49
    Points
    49
    Par défaut Déclenchement d'évenement depuis un WinFormHosting
    Bonjour à tous,

    J'ai un UserControl avec un WinFormHosting et une animation qui se déclenche quand il y a un Mouse.MouseEnter sur mon UserControl.

    Le truc, c'est que quand ma souris rentre dans mon UserControl, c'est le WinForm qui détecte l'entrée de la souris et pas le UserControl WPF, donc, l'animation n'est jamais lancée .

    Comment faire pour faire remonter l'évènement Mouse.MouseEnter depuis mon UserControl ?

    Merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Dans la partie WPF, tu te créés une méthode qui va lancer ton animation. Coté WindowsForms, lorsque tu entres sur le contrôle, tu récupères l'instance du contrôle WPF et tu appelles la méthode que tu auras définie.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    En fait l'animation est une animation qui se fait au survole d'un des éléments de ma ListBox avec le template suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Style x:Key="PreviewListItem" TargetType="{x:Type ListBoxItem}">
            <Setter Property="MaxHeight" Value="75" />
            <Setter Property="MinHeight" Value="75" />
            <Setter Property="Opacity" Value=".75" />
            <Style.Triggers>
                <EventTrigger RoutedEvent="Mouse.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation 
    									Duration="0:0:0.2" 
    									Storyboard.TargetProperty="MaxHeight" 
    									To="85" />
                                <DoubleAnimation 
    									Duration="0:0:0.2" 
    									Storyboard.TargetProperty="Opacity"
    									To="1.0" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
     
                <EventTrigger RoutedEvent="Mouse.MouseLeave">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation 
    									Duration="0:0:1" 
    									Storyboard.TargetProperty="MaxHeight" />
                                <DoubleAnimation 
    									Duration="0:0:0.2" 
    									Storyboard.TargetProperty="Opacity" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    est il possible de faire ça par code (je dois avouer que je ne sais faire des animations que par template ) ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Avec le code XAML affiché je crois que cela ne marchera pas.

    Explication (ça peut être la cause) : Vu que les évènements WinForm ne sont pas routés le MouseEnter ne sera pas transmis au parent du controle winform c'est à dire le controle WPF alors ton animation ne sera pas déclenché du coup.

    Je pencherais pour la méthode de Thomas.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup de votre aide, j'ai ré-écrit, dans le code behind, l'animation qui était écrit dans mon template et je lance cette animation comme l'a dit Thomas.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/05/2014, 11h36
  2. Réponses: 0
    Dernier message: 26/02/2013, 12h54
  3. [AJAX] retarder le déclenchement d'évenements
    Par matt7575 dans le forum AJAX
    Réponses: 8
    Dernier message: 24/11/2011, 15h58
  4. Gestion des évenements depuis un fichier JS
    Par CodeMikiman dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 18/06/2008, 11h06
  5. Déclenchement des évenements du composant TCPclient
    Par prenaud dans le forum Composants VCL
    Réponses: 6
    Dernier message: 13/07/2006, 16h51

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