System.Windows.Interactivity를 프로젝트에 추가하는 방법은 무엇입니까?


107

내 프로젝트가 누락되었습니다 System.Windows.Interactivity. Google에서 Expression Blend를 설치해야한다고하는데 다른 컴퓨터에는이 라이브러리가 있고 Expression Blend가 설치되어 있지 않습니다. 그래서 얻을 수있는 다른 방법이 있어야 System.Windows.Interactivity합니까? 어떻게해야합니까? (지금은 다른 컴퓨터가 없으므로이 라이브러리를 복사 할 수 없습니다. :)

답변:


92

행동에 대한 공식 패키지는 Microsoft.Xaml.Behaviors.Wpf.

이전에는 Blend SDK있었으며 더 이상 사용되지 않습니다. 마이그레이션이 필요한 경우 자세한 내용
Jan의 답변 을 참조하십시오.


2
4.6과 호환되지 않습니다!
alerya

3
그것은 매우 슬프고 나를 화나게합니다. 그 이유 때문에 슬프게도 코드를 사용하고 있습니다. MS에 대한 수치.
alerya

1
@alerya : 1. 정말로 원한다면 SDK의 동작을 직접 작성할 수 있습니다. 2. nu-get 패키지를 사용해 보셨습니까?
HB

1
@Shimmy : 물론입니다!
HB

6
여러분 중 일부에게는 이것이 명백하다는 것을 알고 있지만 참조해야 할 사항은 xmlns:i="http://schemas.microsoft.com/xaml/behaviors"다음 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"과 같습니다. 내가 본 다른 모든 예 에서처럼.
Yosef Bernal

124

이 문제는 꽤 오래되었지만 관련 뉴스 / 가장 최근 답변 인 Microsoft 오픈 소스 XAML 동작 및이 버전으로 업데이트하는 방법에 대한 블로그 게시물을 게시했습니다 : https://devblogs.microsoft.com/dotnet/open -sourcing-xaml-behaviors-for-wpf /

클릭을 저장하기 위해 다음은 마이그레이션하는 주요 단계입니다.

  1. "Microsoft.Expression.Interactions"및 "System.Windows.Interactivity"에 대한 참조 제거
  2. Microsoft.Xaml.Behaviors.Wpf NuGet 패키지를 설치합니다 .
  3. XAML 파일 – xmlns 네임 스페이스 http://schemas.microsoft.com/expression/2010/interactivityhttp://schemas.microsoft.com/expression/2010/interactionshttp://schemas.microsoft.com/xaml로 바꿉니다 . / behaviors
  4. C # 파일 – "Microsoft.Xaml.Interactivity"및 "Microsoft.Xaml.Interactions"의 사용을 "Microsoft.Xaml.Behaviors"로 바꿉니다.

6
이것은 – 지금 – 절대적으로 정답입니다. Microsoft가 마침내이 작업을 수행하게되어 기쁩니다. 게시 해 주셔서 감사합니다. 블로그 항목을 어떻게 놓쳤는 지 잘 모르겠습니다. "멋진 새로운 Microsoft NuGet 패키지"에 대한 뉴스 레터가 있어야합니다.
skst

1
유래 감정을 가지고 있다면, 당신의 대답에 대한 하트 사용할 것
이브라힘 카이스 이브라힘

1
2019 년 현재 정답이어야합니다. 시간을내어이 중요한 업데이트를 추가해 주셔서 감사합니다.
mins

1
나를 위해 일했습니다. VS2019에서 2015의 솔루션을 업데이트했습니다. 감사합니다.
KulaGGin

1
또한 schemas.microsoft.com/expression/2010/drawing 의 셰이프를 사용하는 경우이 너겟 패키지를 사용할 수 있으며 코드를 변경할 필요가 없습니다.
Daniel Elkington 19

59

다음과 호환되는 System.Windows.Interactivity.dll이 포함 된 새 NuGet 패키지가 있습니다.

  • WPF 4.0, 4.5
  • Silverligt 4.0, 5.0
  • Windows Phone 7.1, 8.0
  • Windows 스토어 8, 8.1

Expression.Blend.Sdk를 설치하려면 패키지 관리자 콘솔에서 다음 명령을 실행하십시오.

PM> Install-Package Expression.Blend.Sdk

http://www.nuget.org/packages/Expression.Blend.Sdk/


10
이 패키지는 공식 Microsoft 배포판이 아닙니다
piers7

2
MVVM Light가 이미 설치되어있는 경우 충돌 버전의 System.Windows.Interactivity. 해결하려면 위의 내 대답을 참조하십시오.
Contango


19

함께 Visual Studio를위한 혼합 버전 2013로 시작하는 비주얼 스튜디오에 포함되어 다음과 같은 폴더에 DLL을 찾을 수 있습니다 :

C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries

System.Windows.Interactivity.dllInteractivity 네임 스페이스를 사용하는 기능을 추가하기 위해 기존 프로젝트와 함께 Blend for Visual Studio를 사용하지 않는 한 자신 에 대한 참조 를 추가해야합니다. 이 경우 Blend는 자동으로 참조를 추가합니다.


7
이것은 내 프로젝트를 수정하는 데 도움이되었습니다. Visual Studio 2017에서는 Visual Studio 설치 관리자로 이동하여 개별 구성 요소 (SDK 범주)에서 찾아야합니다.
PRouleau 2017

18

때로는 새 라이브러리를 추가 할 때에서 충돌 버전의 System.Windows.Interactivity.dll.

예를 들어 NuGet 패키지 MVVM light에는 v4.2 of이 필요할 수 System.Windows.Interactivity.dll있지만 NuGet 패키지 Rx-XAML에는 v4.5 of System.Windows.Interactivity.dll. 어떤 버전 System.Windows.Interactivity.dll을 포함 하든 라이브러리 중 하나가 컴파일을 거부하기 때문에 프로젝트가 작동하지 않습니다 .

수정하려면 app.config다음과 같이 편집하여 어셈블리 바인딩 리디렉션을 추가 하십시오.

<?xml version="1.0"?>
<configuration>
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Windows.Interactivity"
                        publicKeyToken="31bf3856ad364e35"
                        culture="neutral"/>
      <bindingRedirect oldVersion="4.0.0.0"
                       newVersion="4.5.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<appSettings>
  <add key="TestKey" value="true"/>
</appSettings>

PublicKeyToken버전이 아닌 .dll의 이름에 따라 달라 지므로 모든 버전에서 상수 인을 변경하는 것에 대해 걱정하지 마십시오 .

당신이 일치하는지 확인 newVersion당신에 appConfig당신이 가리키는 끝날 것으로 실제 버전 :

여기에 이미지 설명 입력


여기에 정확히 동일한 게시물을 작성했습니다. stackoverflow.com/questions/13514027/… 여러 점 :)
pix

14

대체 솔루션입니다 수정 은 Visual Studio 설치에 현재 비주얼 스튜디오 설치

Win+ R %ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe

가산 Blend for Visual Studio SDK for .NET'의 SDK, 라이브러리 및 프레임 워크'에서 '개별 구성 요소를'

여기에 이미지 설명 입력 이 구성 요소를 추가 한 후 System.Windows.Interactivity일반 위치에 나타납니다 Add Reference/Assemblies/Extensions.


이것은 VS2017 또는 이전 버전에서만 작동하는 것으로 보입니다. 이후 버전의 경우 다른 답변을 참조하십시오.


2
나를 위해 나타나지 않습니다 :(
Julien

나에게도 나타나지 않습니다. VS 2019 사용
Barış Akkurt


1

Prism.WPF NuGet-Package를 통해 얻었습니다. (Windows.System.Interactivity 포함)


0

MVVM Light로 작업하는 경우 System.Windows.Interactivity Version 4.0아래에서 찾을 수 있는 (NuGet .dll이 작동하지 않음)을 사용해야합니다.

PathToProjectFolder\Software\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll

이 .dll을 참조로 수동으로 추가하면 괜찮을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.