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 :

HitTest & Zone Active


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut HitTest & Zone Active
    Salut à tous!

    Voilà c'est très simple je cherche à définir une région active sur un élément (UserControle ou autre) sans affecter le rendu visuel > comme si on définissait HitTestVisible="false" sur l'exclusion de cette région désignée
    (Exit la propriété clip qui redéfini le dessin)

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je pense qu'il faut que tu overrides la méthode HitTestCore...

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    Oui j'ai cherché par là seulement voilà ça oblige à redéfinir dans un conteneur le comportement cliquable d'un enfant par code c'est assez lourd surtout si tu as plusieurs éléments tu es obligé de les encapsuler chacun dans des usercontrols pour avoir des comportements autonomes et donc ~ compréhensible...
    Pourtant l'idée de base est assez simple il doit y avoir quelques chose qui existe pour définir une zone à cette propriété IsHitTestVisible?..

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je ne pense pas que tu aies besoin de te préoccuper des enfants... Tout ce que tu as à faire, c'est déterminer si le point cliqué appartient à la zone active ; si c'est le cas, tu appelles l'implémentation de base, sinon tu renvoies null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters)
    {
        if (IsInActiveZone(hitTestParameters.HitPoint))
        {
            return base.HitTestCore(hitTestParameters);
        }
        return null;
    }

  5. #5
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 162
    Par défaut
    La methode la plus simple et qui permet de ne pas trop se prendre la tête est de rajouter un rectangle, un ellipse ou un path qui couvrira la zone "hittestable" et de lui affecter Fill="Transparent". Et pour le reste du UserControl spécifier IsHitTestVisible="False".
    Sans le fill (Fill="{x:Null}" par defaut) le hit test ne sera pas effectué sur le rectangle.
    Du coups il suffit d’écouter les évents que sur cet élément transparent.

Discussions similaires

  1. TextField : décalage entre l'affichage et la zone active
    Par Soulaï dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 08/07/2010, 10h36
  2. Gabarit avec zones actives
    Par bsquare09 dans le forum Débuter
    Réponses: 0
    Dernier message: 24/07/2009, 09h59
  3. creer une zone active entre webmaster et webutilisateur
    Par MORPHEUS50 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/05/2007, 16h14
  4. Réponses: 1
    Dernier message: 09/05/2007, 02h52
  5. Zone active d'un RichEdit
    Par julie20 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 18/09/2003, 14h37

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