¿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?
-
07-07-2019 - |
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?
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());
}
};