Comment définir un point d'arrêt et faire en sorte que le code s'arrête sur une ligne à l'intérieur d'une commande attachée?

StackOverflow https://stackoverflow.com/questions/1421664

Question

Dans mon XAML , j'ai cette commande (commande attachée que j'ai reçue de http://marlongrech.wordpress.com ):

<TextBlock Text="Edit Test Customer">
    <Commands:CommandBehaviorCollection.Behaviors>
        <Commands:BehaviorBinding Event="MouseLeftButtonDown" 
                                   Command="{Binding ClickEditTestCustomer}"/>
    </Commands:CommandBehaviorCollection.Behaviors>
</TextBlock>

Ensuite, dans la commande, si je définis un point d'arrêt dans le code ExecuteDelegate , par exemple. sur " le "layoutManger ..." " ligne, il ne s’arrête pas sur le point d’arrêt même si ce code est exécuté (je vois ma vue):

ClickEditTestCustomer = new SimpleCommand
{
    ExecuteDelegate = parameterValue =>
    {
        LayoutManager layoutManager = container.Resolve<LayoutManager>();
        layoutManager.DisplayViewAsPane("EditCustomer", "Edit Customer", new EditCustomerView());
    }
};

Comment définir un point d'arrêt et laisser le code s'arrêter sur une ligne à l'intérieur d'une commande attachée?

Était-ce utile?

La solution

Cela devrait fonctionner sans aucun problème. Si vous êtes à 100% sûr que la ligne LayoutManager est en cours d'exécution, le problème peut provenir de la fonction de débogage, juste de mon code (JMC). Essayez de désactiver JMC et d'exécuter à nouveau le scénario

  • Outils - > Option - > Débogage - > Général
  • Décochez la case "Activer uniquement mon code"
  • .

Autres conseils

La réponse était que j'avais copié par inadvertance le gestionnaire d'événements ClickEditTestCustomer dans deux fois , ce qui, de manière surprenante, n'a pas généré d'erreur et n'a exécuté que la deuxième instance:

ClickEditTestCustomer = new SimpleCommand
{
    ExecuteDelegate = parameterValue =>
    {
        LayoutManager layoutManager = container.Resolve<LayoutManager>();
        layoutManager.DisplayViewAsPane("EditCustomer", "Edit Customer", new EditCustomerView());
    }
};

ClickEditTestCustomer = new SimpleCommand
{
    ExecuteDelegate = parameterValue =>
    {
        LayoutManager layoutManager = container.Resolve<LayoutManager>();
        layoutManager.DisplayViewAsPane("EditCustomer", "Edit Customer", new EditCustomerView());
    }
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top