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 :

Acceder à un item de mainWIndows depuis un userControl


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut Acceder à un item de mainWIndows depuis un userControl
    Bonjour,

    j'ai eu une listeBox qui comporte des item dans mon fichier mainWindows.xaml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <ListBox x:Name="listboxMenu" SelectionChanged="myListBox_SelectionChanged_1" Style="{StaticResource ListBoxStyle}" Background="#3498DB" Padding="1, 0">
                                        <ListBoxItem x:Name="Accueil" Style="{StaticResource ListBoxItemStyle}" Content="Accueil"></ListBoxItem>
                                        <ListBoxItem x:Name="Admin" Style="{StaticResource ListBoxItemStyle}" Content="Administration"></ListBoxItem>
                                    </ListBox>
    j'ai egalement un user control ou j'anime mon contenu principal

    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
     
     <UserControl.Resources>
            <Storyboard x:Key="BaseAnimation" x:Name="BaseAnimation">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:5.0" Value="1"/> 
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </UserControl.Resources>
     
     <UserControl.Triggers>
            <EventTrigger RoutedEvent="UserControl.Loaded">
                <BeginStoryboard Storyboard="{StaticResource BaseAnimation}"/>
            </EventTrigger>
    </UserControl.Triggers>
    Le soucis c'est qu'en faisant ca UserControl.Loaded est appele qu'une fois.

    Comment est ce que je peux faire pour que mon userControl soit appeler a chaque fois que je selectionne un item particulier de la listeBox (qui est dans la mainWindows).

    J'aimerais avoir quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <UserControl.Triggers>
            <EventTrigger SourceName="Nom de mon item de ma liste box"  RoutedEvent="ListBoxItem.Selected">
                <BeginStoryboard Storyboard="{StaticResource BaseAnimation}"/>
            </EventTrigger>
    </UserControl.Triggers>
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il faudra passer par un systèmes d’événements.

    Tu crées un événement au niveau de ton MainWindow qui sera déclenché lorsque l'item sélectionné change. De l'autre côté ton UserControl s'abonne au nouveau événement et dans le gestionnaire d'événement tu gères ton storyboard

    PS : du code dans le code-behind ne tue pas

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut
    j'osais pas en faire. Mais si c'est une solution possible je prends

  4. #4
    Invité
    Invité(e)
    Par défaut
    Avec MVVM beaucoup croit qu'il est interdit d'écrire du code dans le code-behind . C'est faux. Du code dans le code-behind qui gère uniquement la Vue n'est pas interdit.

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

Discussions similaires

  1. Appeller methode mainwindows depuis usercontrol
    Par Anycee14 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 19/07/2010, 19h26
  2. Réponses: 2
    Dernier message: 19/05/2006, 15h53
  3. Acceder a un partage reseaux depuis un script php
    Par needles94000 dans le forum Apache
    Réponses: 6
    Dernier message: 10/04/2006, 15h43
  4. Réponses: 17
    Dernier message: 18/10/2005, 21h19
  5. Comment acceder à un item d'un menu
    Par Flash31186 dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2005, 17h40

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