Come posso impostare un breakpoint e far fermare il codice su una riga all'interno di un AttachedCommand?

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

Domanda

Nel mio XAML ho questo comando (che è un AttachedCommand che ho ottenuto da http://marlongrech.wordpress.com ):

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

Quindi nel comando, se ho impostato un breakpoint all'interno del codice ExecuteDelegate , ad es. su "quotazioneManger ..." linea, non si ferma sul punto di interruzione anche se quel codice viene eseguito (vedo il mio punto di vista):

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

Come posso impostare un breakpoint e far fermare il codice su una riga all'interno di un AttachedCommand?

È stato utile?

Soluzione

Questo dovrebbe funzionare senza alcun problema. Se sei sicuro al 100% che la linea LayoutManager sia effettivamente in esecuzione, potrebbe essere un problema con la funzione di debug solo il mio codice (JMC). Prova a disabilitare JMC ed esegui di nuovo lo scenario

  • Strumenti - > Opzione - > Debug - > Generale
  • Deseleziona " Abilita solo il mio codice "

Altri suggerimenti

La risposta è stata che avevo inavvertitamente copiato nel gestore dell'evento ClickEditTestCustomer in due volte , che sorprendentemente non ha prodotto un errore ed eseguito silenziosamente solo la seconda istanza:

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());
    }
};
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top