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 :

Avoir un formulaire WPF bon pour du clavier uniquement


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bruce-willis
    Invité(e)
    Par défaut Avoir un formulaire WPF bon pour du clavier uniquement
    Bonjour,

    J'ai créé une fiche (formulaire) qui sera beaucoup sollicité pour des saisies, elle utilise du textbox, combobox et du listbox

    Le soucis avec WPF c'est que c'est pas si maniable comme les formulaires d'inscription sur le web: si on tape FRANCE sur un combobox de pays ça ne marche pas, la touche TAB marche pour passer d'un textbox à un autre mais si on veut revenir les touches de direction HAUT et BAS ne marchent pas

    Ou y a-t-il des paramètres qu'il faut utiliser dans le XAML?

    De plus, j'aimerais demander quelles sont selon vous les touches qui doivent activer l'enregistrement, l'annulation car en effet en bas de chaque fiche il y a toujours les boutons Ajouter/Enregistrer et Annuler ?

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Citation Envoyé par bruce-willis Voir le message
    Le soucis avec WPF c'est que c'est pas si maniable comme les formulaires d'inscription sur le web: si on tape FRANCE sur un combobox de pays ça ne marche pas, la touche TAB marche pour passer d'un textbox à un autre mais si on veut revenir les touches de direction HAUT et BAS ne marchent pas
    C'est pourtant très maniable.
    Pour revenir en arrière c'est Maj TAB (comme pour le web) par défaut.

    Pour la combobox tu as les propriétés IsTextSearchEnabled (http://msdn.microsoft.com/en-us/libr...chenabled.aspx) et TextSearch.TextPath (http://msdn.microsoft.com/en-us/libr....textpath.aspx).

    Tu as la classe label (http://msdn.microsoft.com/en-us/libr...ols.label.aspx) qu'il faut utiliser pour le texte associé à une zone de texte (http://msdn.microsoft.com/en-us/libr...el.target.aspx), propriété Target et "_" dans le texte du label:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <TextBox Name="tb" Width="50"/>
    <Label Target="tb">_File</Label>
    Citation Envoyé par bruce-willis Voir le message
    Ou y a-t-il des paramètres qu'il faut utiliser dans le XAML?
    Tu as de la doc ici:
    http://msdn.microsoft.com/en-us/library/aa969768.aspx

    Citation Envoyé par bruce-willis Voir le message
    De plus, j'aimerais demander quelles sont selon vous les touches qui doivent activer l'enregistrement, l'annulation car en effet en bas de chaque fiche il y a toujours les boutons Ajouter/Enregistrer et Annuler ?
    Le bouton échap annule (ferme la fenêtre s'il y en a une).

    Pour activer l'enregistrement, bin tu mets le focus sur le bouton Ajouter et tu appuies sur la touche Entrée, non ?
    Sinon utilise une combinaison, genre Ctrl Entrée par exemple.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Petite astuce supplémentaire: tu peux mettre la propriété IsDefault d'un bouton à True pour qu'il soit invoqué lorsque tu appuies sur Entrée.

    Source: http://msdn.microsoft.com/fr-fr/libr...lt(VS.85).aspx

    Bon courage;

  4. #4
    bruce-willis
    Invité(e)
    Par défaut
    Les propriétés IsTextSearchEnabled et TextSearch.TextPath ne font pas effet chez moi, j'utilise combobox comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                            <ComboBox Name="cmbSupport" SelectedValue="{Binding Path=produitsvendus.supports.IdSupport}" SelectedValuePath="IdSupport" Width="170" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,5,0,0" IsTextSearchEnabled="True" TextSearch.TextPath="Text">
                                <ComboBox.ItemTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Path=Code}"></TextBlock>
                                    </DataTemplate>
                                </ComboBox.ItemTemplate>

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    TextSearch.TextPath prend le nom d'une propriété d'un objet contenu dans Items ou ItemsSource.
    Dans ton cas c'est "Code" qu'il faut mettre.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  6. #6
    bruce-willis
    Invité(e)
    Par défaut
    Citation Envoyé par The_badger_man Voir le message
    TextSearch.TextPath prend le nom d'une propriété d'un objet contenu dans Items ou ItemsSource.
    Dans ton cas c'est "Code" qu'il faut mettre.
    Merci pour ça

    Une autre demande d'aide, et dans le cas suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <ComboBox Name="cmbTypeRemise" Width="170" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,5,0,0" IsTextSearchEnabled="True" TextSearch.TextPath="???">
                                <ComboBox.Items>
                                    <ComboBoxItem>
                                        <TextBlock>Kilowatt (par défaut)</TextBlock>
                                    </ComboBoxItem>
                                    <ComboBoxItem  IsSelected="{Binding Path=IsJoule}">
                                        <TextBlock>Kilojoule</TextBlock>
                                    </ComboBoxItem>
                                </ComboBox.Items>
                            </ComboBox>

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/03/2014, 18h16
  2. Comment fait-on pour avoir 2 formulaires sur la même ligne?
    Par fabiofabio dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 02/02/2008, 13h28
  3. [formulaire] Blocage de touche du clavier
    Par niaxon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/12/2005, 15h27
  4. [Formulaire]Un bouton pour valider deux fomulaires
    Par Le_tzao dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/12/2005, 11h08
  5. validation formulaire :"objet attendu" pour onSubm
    Par linou dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 15/11/2005, 16h57

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