Подтвердить что ты не робот

Имя "Взаимодействие" не существует в пространстве имен "http://schemas.microsoft.com/expression/2010/interactivity"

Я использовал DLL System.Windows.Interactivity в нескольких проектах без каких-либо проблем. Теперь в моем последнем проекте я не могу заставить его работать. Я всегда получаю следующую ошибку:

Название "Взаимодействие" не существует в пространстве имен " http://schemas.microsoft.com/expression/2010/interactivity".

<i:Interaction.Triggers>
    <EventTrigger EventName="SelectionChanged">
        <i:InvokeCommandAction Command="{Binding AddSelectLocomotifCommand}"
            CommandParameter="{Binding SelectedItem, ElementName=listBoxLocs}" />
    </EventTrigger>
</i:Interaction.Triggers>

И пространство имен:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

Оба Microsoft.Expression.Interactions и System.Windows.Interactivity добавляются к ссылкам проектов, и я даже скопировал DLL в папку в моем проекте.

Любая идея, как это происходит? Я использую VS2012 с .NET 4.5

4b9b3361

Ответ 1

Хорошо, у меня это исправлено. Когда я установил Visual Studio 2012 Professional (с Blend), у меня была возможность установить Blend для Visual Studio. Я подумал, что, возможно, это вызвало проблему, поэтому я снова открыл программу установки, выбрал "Изменить" и снял флажок "Blend для Visual Studio".

И угадайте, что, это сработало. Больше никаких ошибок при взаимодействии. Теперь это отлично работает! Какая фактическая проблема, я не знаю, если кто-нибудь знает, пожалуйста, скажите мне:)

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseDoubleClick">
        <i:InvokeCommandAction Command="{Binding AddSelectLocomotifCommand}"
                                                     CommandParameter="{Binding SelectedItem, ElementName=listBoxLocs}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

Ответ 2

Если у вас есть эта проблема, прежде чем все остальное, дважды проверьте, если у вас есть ссылки на Microsoft.Expression.Interactions И System.Windows.Interactivity.

Я просто хочу предупредить, что я пытался сделать все, как написал PitAttack76 в своем ответе, и он не удалил Blend для меня. Он просто удаляет некоторые части, поэтому, когда я перезагружаю свой компьютер и хочу открыть проект в Blend, он пишет сообщение об ошибке, как в этой теме. Затем мне нужно установить .NET framework 4.5.1 и Microsoft Build Tools 2013 чтобы Blend снова начал работать. Тем не менее, это никак не помогло - моя проблема была в том, что в моих ссылках есть только Microsoft.Expression.Interactions.

Ответ 3

У меня была та же проблема. Я сделал это:

  • Удалите Microsoft.Expression.Interactions и System.Windows.Interactivity из проекта в Visual Studio, сохраняя пространство имен xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity".
  • Откройте тот же проект в Blend.
  • Добавьте правильные версии .net Microsoft.Expression.Interactions и System.Windows.Interactivity назад в Blend (в моем случае это было 4.5).

Ответ 4

Я удалил недостающие ссылки Microsoft.Expression.Interactions AND System.Windows.Interactivity. Затем я установил пакет Nuget Microsoft.SDK.Expression.Blend от Хансана Прингла. Это установленные недостающие ссылки.

Ответ 5

У меня была эта проблема, потому что я ссылался на сборку версии 4.5 System.Windows.Interactivity, но создавал свой проект в .Net 4

Ответ 6

Как сказал учитель SQL и Java в комментарии:

Откройте VS Installer и убедитесь, что Blend SDK установлен. Когда вы это сделаете, у вас будет ссылка на версию 4.5 без необходимости изменения файла конфигурации или какого-либо другого файла. Если у вас не установлен Blend SDK, вы не сможете изменить его с 4 на 4.5.

Это сработало для меня.