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 :

Aide Listbox et Usercontol


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Par défaut Aide Listbox et Usercontol
    Bonjour

    je vous demande de laide car je suis bloqué depuis un moment.
    Je viens de commencer un application en WPF .

    Je souhaite simplement , qu'en sélectionnant un item de la listBox de la Mainwindows , afficher un usercontrol dans un grid de la mainwindows .

    Est-ce que quelqu'un peut me venir en aide ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2014
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 196
    Par défaut
    Si tu débute WPF et que tu as déjà développez avec WinForm je te conseil de lire un peu de littérature sur WPF, beaucoup de concept sont différent voir nouveau (Binding, MVVM, ...)

    Sinon tu peut le faire à l'ancienne en écoutant l’événement SelectionChanged de ta ListBox et ajouter directement ton UserControl à un autre ékément de ta fenêtre, ci dessous un peut de code à adapter à ton cas bien sur.

    Coté XAML :
    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
    16
     <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid x:Name="mainGrid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
            </Grid.ColumnDefinitions>
     
            <!--  Je ne met pas les items dans la ListBox je ne connait pas les tient -->
            <ListBox Grid.Column="0" SelectionChanged="listBox1_SelectionChanged" x:Name="listBox1"></ListBox>        
            <Grid Grid.Column="1" x:Name="gridUserControlContainer"></Grid>
        </Grid>
     
    </Window>

    Cote Code-Behind :

    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
    40
    41
    42
    43
    44
    45
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
     
    namespace WpfApplication1
    {
        /// <summary>
        /// Logique d'interaction pour MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
     
            private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                // On supprime tous les éléments de la grille qui contient le UserControl dès fois qu'il en ai déja eu un d'afficher
                gridUserControlContainer.Children.Clear();
     
                // J'imagine que ton UserControl dépend du choix dans la ListBox
     
                if (listBox1.SelectedItem.ToString().Equals("Cas n°1"))
                {
                    // Ici tu remplace la classe UserControl par celle de ton UserControl bien évidament.
                    UserControl monUserControl = new UserControl();
                    gridUserControlContainer.Children.Add(monUserControl);
                }
                // et ainsi de suite avec les autres cas
            }
        }
    }

Discussions similaires

  1. remplissage de listbox à l'aide des éléments d'une suite
    Par gaston64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/03/2010, 16h18
  2. Trier les résultats d'une requête à l'aide d'un listbox
    Par magoo33 dans le forum Coldfusion
    Réponses: 2
    Dernier message: 17/11/2008, 22h27
  3. Besoin d'aide Listbox checkbox
    Par benben10 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/04/2008, 19h35
  4. AIDE pour lier un combobox avec le listbox a l'aide d'un bouton
    Par dricks dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/07/2007, 14h42
  5. supprimer item d'une listbox a l'aide d'un popup menu
    Par avogadro dans le forum Composants VCL
    Réponses: 14
    Dernier message: 24/04/2006, 22h08

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