Страницы

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

вторник, 21 мая 2019 г.

WPF&MVVM: Библиотека System.Windows.Interactivity больше не доступна?

В рамках урока по паттерну MVVM для приложений WPF мне нужно было добавить библиотеку System.Windows.Interactivity.dll через Reference Manager. Я её там не обнаружил (версия Visual Studio - 2017). На скриншоте ниже - всё, что есть в результатах поиска, начинающееся с System.Windows

Я подумал, что возможно данная библиотека уже встроена в новую версию проекта WPF (хотя в списке уже подключённых ссылок её тоже нет), и когда добавил нижеследующий код в ApplicationViewModel.cs, никаких ошибок пока что не было отображено средой разработки:
private RelayCommand doubleCommand; public RelayCommand DoubleCommand { get { return doubleCommand ?? (doubleCommand = new RelayCommand(obj => { Phone phone = obj as Phone; if (phone != null) { Phone phoneCopy = new Phone { Company = phone.Company, Price = phone.Price, Title = phone.Title }; Phones.Insert(0, phoneCopy); } })); } }
Однако, когда я добавил код XAML, то среда выдала сообщение о том, что в пространстве имён clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity не существует Interaction, EventTrigger и InvokeCommandAction





Не знаю, каким образом это связано с библиотекой System.Windows.Interactivity, но как следует решить данную проблему?


Ответ

Требуемая библиотека является частью Microsoft Expression Blend 4 SDK и не включена в стандартную поставку, но вы всегда можете подключить ее из NuGet Gallery: System.Windows.Interactivity.WPF by Microsoft
Пользователи Visual Studio 2017 могут установить Microsoft Blend SDK в систему с помощью Visual Studio Installer, для этого на вкладке "Отдельные компоненты" ("Individual components") в разделе "Пакеты SDK, библиотеки и платформы" ("SDKs, libraries, and frameworks") необходимо установить галочку напротив пункта "Пакет SDK для Microsoft Blend для Visual Studio для платформы .NET" ("Blend for Visual Studio SDK for .NET") и нажать кнопку "Изменить".

После этого, библиотека System.Windows.Interactivity станет доступна из Reference Manager в разделе Assemblies/Extensions

Также, Blend SDK можно загрузить и установить в систему из центра загрузок Microsoft: 3.5, 4.0

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

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