Страницы

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

понедельник, 11 февраля 2019 г.

IntelliSense для ViewModel в редакторе XAML Visual Studio

При разработке WPF MVVM приложения у нас в разметке XAML повсеместно используется Binding, как получить удобство разработки в виде подсказок IntelliSense при вводе названий свойств из VM? Ведь, если мы ошибемся хотя бы в одном символе, привязка работать не будет, поэтому приходится часто переключаться между файлами проекта и копировать имена (а если VM собрана в библиотеку и исходника вообще у нас нет?).
Причем если в разметке указать что-то типа:

(и собрать проект) то IntelliSense начинает помогать. Но я ведь хочу быть хорошим разработчиком и, по рекомендациям, такую зависимость делать не хочу (и мне это в общем-то понятно).
Какие вы знаете и/или используете способы для включения подсказок в такой ситуации (есть ли они вообще)?


Ответ

Решение удалось найти самостоятельно. Подсмотрел здесь: https://stackoverflow.com/questions/29394295/intellisense-for-data-binding-not-working
Выглядит оно так:
т.е. в XAML должно быть подключено пространство имен xmlns:d="http://schemas.microsoft.com/expression/blend/2008" (оно подключено по умолчанию при создании нового окна) и тогда можно воспользоваться фичей: d:DataContext="{d:DesignInstance Type=local:MainVM}", при этом если указать параметр IsDesignTimeCreatable=True, то студия будет пытаться создать экземпляр указанной VM прямо во время работы в дизайнере и наполнять форму реальными данными (что иногда может замедлить работу дизайнера или даже повалить его)

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

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