Ответ 1
Используйте установщик Visual Studio 2017 для установки "Blend for Visual Studio SDK для .NET", который вы можете найти на странице "Отдельные компоненты" в разделе "SDK, библиотеки и рамки".
Я широко использую выражения Expression-взаимодействия CallMethodAction для обработки событий из XAML в дружественном MVVM-интерфейсе.
Я только что создал новый проект WPF в VS2017, и теперь я вижу, что прежнее пространство имен Expression исчезло. Я нашел эту страницу в MSDN, которая является тем действием, которое я ищу, но после ссылки на эту сборку и добавления пространства имен она не содержит CallMethodAction. Эта страница предназначена для Silverlight, и это WPF, поэтому я обеспокоен тем, что действие больше не доступно.
Знает ли кто-нибудь, действительно ли он был удален/заменен? Как можно теперь вызывать обработчики событий на viewmodel?
(Я знаю об InvokeCommandAction, но предпочитаю CallMethodAction, поскольку он передает исходные аргументы события и позволяет отменять события предварительного просмотра.)
Изменить: просто для продвижения вперед я попробовал InvokeCommandAction, но он больше не работает одинаково, и я не могу найти документацию по новому использованию.
Я нашел эту ссылку в MSDN для пространства имен Microsoft.Xaml.Interactions, которое, как представляется, содержит классы, которые мне нужны, но эта сборка не работает Кажется, существует.
Я чувствую, что мне не хватает чего-то очевидного здесь. Я не вижу, как они могут сделать переломное изменение на что-то основное, как реагировать на события.
Используйте установщик Visual Studio 2017 для установки "Blend for Visual Studio SDK для .NET", который вы можете найти на странице "Отдельные компоненты" в разделе "SDK, библиотеки и рамки".
CallMethodAction
определяется в Microsoft.Expressions.Interactions.dll. Эта сборка не является частью .NET Framework, но вы можете загрузить ее с помощью NuGet: https://www.nuget.org/packages/MicrosoftExpressionInteractions/
И класс InvokeCommandAction
определяется в сборке System.Windows.Interactivity.dll: https://www.nuget.org/packages/System.Windows.Interactivity.WPF/