¿Cómo puedo establecer un punto de interrupción y hacer que el código se detenga en una línea dentro de un AttachedCommand?

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

Pregunta

En mi XAML tengo este comando (que es un AttachedCommand que obtuve de http://marlongrech.wordpress.com ):

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

Luego, en el comando, si configuro un punto de interrupción dentro del código ExecuteDelegate , p. en " el " layoutManger ... " línea, no se detiene en el punto de interrupción a pesar de que ese código se ejecuta (veo mi punto de vista):

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

¿Cómo puedo establecer un punto de interrupción y hacer que el código se detenga en una línea dentro de un AttachedCommand?

¿Fue útil?

Solución

Esto debería funcionar sin ningún problema. Si está 100% seguro de que la línea LayoutManager se está ejecutando, puede ser un problema con la función de depuración solo mi código (JMC). Intente deshabilitar JMC y ejecutar el escenario nuevamente

  • Herramientas - > Opción - > Depuración - > General
  • Desmarque " Habilitar solo mi código "

Otros consejos

La respuesta fue que había copiado inadvertidamente en el controlador de eventos ClickEditTestCustomer en dos veces , lo que sorprendentemente no produjo un error y ejecuté en silencio solo la segunda instancia:

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());
    }
};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top