Страницы

Поиск по вопросам

понедельник, 30 декабря 2019 г.

Как правильно вести отладку WPF приложения?

#c_sharp #wpf


Собственно вопрос, как правильно вести отладку WPF приложения?

Например, привязки, которые не работают.

Ведь WPF просто схавывает все и не выдает никаких ошибок. А потом смотришь во WM
и видишь, что где-то свойство забыл сделать публичным и все такое.
    


Ответы

Ответ 1



Для отладки привязанных данных достаточно выбрать соответствующий уровень в настройках студии. Заходим по пути Средства - Параметры - Отладка - Окно вывода. Меняем значение пункта Привязка данных на тот, который нам нужен, я лично ставлю Предупреждение. Все, теперь при ошибке привязки данных мы будем получать в окне логирования что то на подобии этого (где сразу видно, что программа не нашла в MainViewModel свойства CloseCommand: System.Windows.Data Error: 40 : BindingExpression path error: 'CloseCommand' property not found on 'object' ''MainViewModel' (HashCode=46793998)'. BindingExpression:Path=CloseCommand; DataItem='MainViewModel' (HashCode=46793998); target element is 'Button' (Name=''); target property is 'Command' (type 'ICommand') Для отладки, этого вполне достаточно, но можно пойти дальше - ReSharper. У него есть уже из коробки подсветка всего необходимого прям в XAML разметке (что тоже очень хорошо помогает в разработке) Но тут нужно указать DataContext для дизайнера, что бы студия и ReSharper знали от куда брать эти свойства. Делается это путем добавления строки, примерно такого содержания: d:DataContext="{d:DesignInstance {x:Type main:MainViewModel}}"

Комментариев нет:

Отправить комментарий