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

C# Discussion :

[WPF] Treeview drag drop avec stylet


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut [WPF] Treeview drag drop avec stylet
    Bonjour,
    J'essaie d'utiliser un stylet (tablette tactile) à la place de la souris:
    Avec la souris,cela fonctionne correctement:
    Xaml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                <TreeView.ItemContainerStyle>
                    <Style TargetType="{x:Type TreeViewItem}">
                        <EventSetter Event="TreeViewItem.DragOver" Handler="tv_DragOver"/>
                        <EventSetter Event="TreeViewItem.Drop" Handler="tv_Drop"/>
                        <EventSetter Event="TreeViewItem.MouseMove" Handler="tv_MouseMove"/>
                        <EventSetter Event="TreeViewItem.Expanded" Handler="tv_Exp"/>
                    </Style>
                </TreeView.ItemContainerStyle>
    code:
    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
     
            private void tv_MouseDown(object sender, MouseButtonEventArgs e)
            {
     
                if (e.ChangedButton == MouseButton.Left)
                {
                    _lastMouseDown = e.GetPosition(tv_Fourn);
                }
     
     
            }
            private void treeView_MouseMove(object sender, MouseEventArgs e)
      //          private void treeView_MouseMove(object sender, StylusEventArgs e)
            {
                try
                {
                    if (e.LeftButton == MouseButtonState.Pressed)
                //        if (e.StylusDevice != null)
                        {
    ...
    Je remplace donc dans Xaml:MouseMove par StylusMove
    puis dans le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private void TreeView_MouseDown(object sender, StylusButtonEventArgs e)
    Mais après,comment tester "Stylus down" ?
    De même pour le MouseMove changé en StylusMove:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private void treeView_MouseMove(object sender, StylusEventArgs e)
    Comment tester "Stylus pressed" ?
    D'avance merci.

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour
    extrait de la MSDN Help Lib fr:
    Ce qui suit vérifie si l'utilisateur a appuyé sur le bouton d'un stylet.
    le code qui suit ce commentaire correspondant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void OnStylusButtonDown(object sender, StylusButtonEventArgs e)
    {
        StylusButton myStylusButton = e.StylusButton;
     
        if (myStylusButton.Guid == StylusPointProperties.BarrelButton.Id)
        {
            // the barrel button on the stylus has been pressed
        }
    }
    Code .cs extrait de la meme lib help:
    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
     
    void textbox1_StylusDown(object sender, StylusDownEventArgs e)
    {
        Stylus.Capture(textbox1);
    }
     
    void textbox1_StylusMove(object sender, StylusEventArgs e)
    {
        Point pos = e.GetPosition(textbox1);
        textbox1.AppendText("X: " + pos.X + " Y: " + pos.Y + "\n");
    }
     
    void textbox1_StylusUp(object sender, StylusEventArgs e)
    {
        Stylus.Capture(textbox1, CaptureMode.None);
    }
    bon code...

Discussions similaires

  1. [Dojo] Réaliser un drag&drop
    Par Stumi dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 25/06/2008, 11h40
  2. Drag & Drop avec un Treeview
    Par Jordmund dans le forum IHM
    Réponses: 4
    Dernier message: 27/02/2008, 13h10
  3. [VB.Net] Drag & Drop avec un label
    Par genius_.net dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/06/2006, 13h52
  4. Réponses: 1
    Dernier message: 24/03/2006, 16h32
  5. pb drag&drop avec le framework netBeans
    Par erwan_ dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 24/03/2006, 16h32

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