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 :

Eventtriggers en c# [Débutant]


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Par défaut Eventtriggers en c#
    bonjour bonjour,

    alors voila, je souhaiterais creer un eventtriggers afin de jouer un son lors du clic sur un bouton.

    en xaml j'ai fais:

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <UserControl.Resources>
            <Style x:Key="forExemple">
                <Style.Triggers>
                    <EventTrigger RoutedEvent="Button.Click">
                        <EventTrigger.Actions>
                            <SoundPlayerAction Source="C:\Users\Bibi\Documents\Visual Studio 2010\Projects\jeu memo\jeu memo\testson.wav" />
                        </EventTrigger.Actions>
                    </EventTrigger>
                </Style.Triggers>
            </Style>
        </UserControl.Resources>
     
     
        <StackPanel Height="300" Width="300" Background="Black">
            <Button Style="{StaticResource forExemple}" Content="Partie 1 Joueur"

    le son est joué au moment ou je clique sur le bouton. c'est super, c'est ce que je veux...sauf que je voudrais définir l' eventtrigger dans le code c#(les autres bouton sont creer dans le c#).

    alors j'ai fais ca:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EventTrigger sonore = new EventTrigger(Button.ClickEvent);
                SoundPlayerAction testsoundp = new SoundPlayerAction();
                Uri testuri = new Uri("C:\\Users\\Bibi\\Documents\\Visual Studio 2010\\Projects\\jeu memo\\jeu memo\\testson.wav");
                testsoundp.Source = testuri;
     
                sonore.Actions.Add(testsoundp);

    et ca ne marche pas, je n'arrive pas a definir le style du bouton pour qu'il prenne en compte l' eventtrigger.

    Suis-je bien parti ? comment indiquer au bouton qu'il doit prendre en compte l'eventtrigger ? ou c'est l'inverse, c'est au trigger qu'il faut indiquer les bouton ?

    Merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par yrtera Voir le message
    Suis-je bien parti ? comment indiquer au bouton qu'il doit prendre en compte l'eventtrigger ?
    Oui, tu es bien parti, il reste juste à ajouter le trigger au style...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style.Triggers.Add(sonore);
    (je suppose que tu as déjà fait le lien entre le bouton et le style)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Par défaut
    encore une fois, MERCI MERCI tomlev.

    voici mon code final:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                Style sty = new Style();
                EventTrigger sonore = new EventTrigger(Button.ClickEvent);
                SoundPlayerAction testsoundp = new SoundPlayerAction();
                Uri testuri = new Uri("C:\\Users\\Bibi\\Documents\\Visual Studio 2010\\Projects\\jeu memo\\jeu memo\\testson.wav");
                testsoundp.Source = testuri;
     
                sonore.Actions.Add(testsoundp);
                sty.Triggers.Add(sonore);
                this.forme.Style = sty;

    un jour je serais un tomlev moi aussi et je saurais tout.

    ++

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

Discussions similaires

  1. EventTrigger et utilisation de CallDataMethod
    Par duvelmoi9 dans le forum Silverlight
    Réponses: 1
    Dernier message: 11/09/2010, 18h35
  2. [ControlTemplate] Utiliser un EventTrigger pour lancer un autre évènement
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 11/03/2009, 22h40
  3. Probleme avec l'attribut Key dans EventTrigger
    Par warmy dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 30/01/2009, 19h06
  4. EventTrigger sur un composant perso + Template
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 14
    Dernier message: 03/11/2008, 17h27
  5. [WPF] - Affecter un eventtrigger a plusieurs controls
    Par DonJR dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 27/12/2006, 23h23

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