Как я могу установить точку останова и заставить код остановиться на строке внутри AttachedCommand?

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

Вопрос

В моем XAML У меня есть это команда (это прикрепленная команда, которую я получил от http://marlongrech.wordpress.com):

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

Затем в команде, если я установлю точка останова внутри ExecuteDelegate ( Выполненный делегат) код, напримерв строке "layoutManger ..." он не останавливается на точке останова, даже если этот код выполнен (я вижу свое мнение):

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

Как я могу установить точку останова и заставить код остановиться на строке внутри AttachedCommand?

Это было полезно?

Решение

Это должно сработать без каких-либо проблем.Если вы на 100% уверены, что строка LayoutManager действительно запущена, то это может быть проблема с функцией отладки just my code (JMC).Попробуйте отключить JMC и снова запустить сценарий

  • Инструменты -> Параметры -> Отладка -> Общие
  • Снимите флажок "Включить только мой код".

Другие советы

Ответ состоял в том, что я случайно скопировал в обработчик событий ClickEditTestCustomer в дважды , что на удивление не выдало ошибку и тихо выполнил только второй экземпляр:

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());
    }
};
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top