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 :

Bouton et TextBox dans ListView


Sujet :

Windows Presentation Foundation

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 220
    Points
    220
    Par défaut Bouton et TextBox dans ListView
    Bonjour j'ai une petite question :

    J'ai un TextBox et un Bouton dans une ListView. Lorsque je clic dans le TextBox ou sur le Bouton j'aimerai sélectionner la ligne courante de la ListView. Le problème c'est que le focus est donné au Bouton ou au TextBox et pas à la ListView donc la ligne courante n'est pas sélectionnée.

    Comment faire ?

  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
    Lors du clic sur le bouton, tu peux utiliser les méthodes de la classe VisualTreeHelper pour remonter jusqu'au parent (la row) et la sélectionner.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 220
    Points
    220
    Par défaut
    Merci Thomas

    J'ai suivi ton conseil et je me suis écrit une petite class pour sélectionner la row de la ListView

    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
     
    static class CVisualHelper
    	{
    		static public void SelectListViewItem(UIElement o_elem)
    		{
    			var o_item = GetAncestorByType(o_elem as DependencyObject, typeof(ListViewItem)) as ListViewItem;
    			var o_list_view = GetAncestorByType(o_elem as DependencyObject, typeof(ListView)) as ListView;
    			if (o_item != null)
    			{
    				o_list_view.SelectedItem = o_item.Content;
    			}
     
    		}
     
    		static private DependencyObject GetAncestorByType(DependencyObject o_element, Type o_type)
    		{
    			DependencyObject o_result = null;
     
    			if (o_element != null)
    			{
    				if (o_element.GetType() == o_type)
    				{
    					o_result = o_element;
    				}
    				else
    				{
    					o_result = GetAncestorByType(VisualTreeHelper.GetParent(o_element), o_type);
    				}
    			}
    			return o_result;
    		}
    	}
    Dans le xaml je m'enregistre sur les évènements suivants:
    - ComboBox : GotFocus="Button_Click"
    - Button : Click="Button_Click"
    - TextBox : GotKeyboardFocus="TextBox_GotKeyboardFocus"

    Et dans le code behind

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void Button_Click(object sender, RoutedEventArgs o_evt)
    		{
    			CVisualHelper.SelectListViewItem(o_evt.OriginalSource as UIElement);
    		}
     
     
    		private void TextBox_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs o_evt)
    		{
    			CVisualHelper.SelectListViewItem(o_evt.OriginalSource as UIElement);
    		}

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

Discussions similaires

  1. Récupérer textbox dans un ListView
    Par Flow78 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 25/02/2013, 09h51
  2. TextBox dans un listview en vb.net
    Par Cudiinho dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 21/02/2012, 12h46
  3. Réponses: 2
    Dernier message: 01/04/2011, 09h42
  4. inserer bouton dans listview en vb net
    Par sihammaster dans le forum VB.NET
    Réponses: 0
    Dernier message: 01/02/2010, 10h45
  5. [XL-2003] Macro de recherche dans un userform avec bouton et textbox
    Par guilo49 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/11/2009, 14h38

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