답변:
행동에 대한 공식 패키지는 Microsoft.Xaml.Behaviors.Wpf
.
이전에는 Blend SDK 에 있었으며 더 이상 사용되지 않습니다. 마이그레이션이 필요한 경우 자세한 내용
은 Jan의 답변 을 참조하십시오.
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
다음 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
과 같습니다. 내가 본 다른 모든 예 에서처럼.
이 문제는 꽤 오래되었지만 관련 뉴스 / 가장 최근 답변 인 Microsoft 오픈 소스 XAML 동작 및이 버전으로 업데이트하는 방법에 대한 블로그 게시물을 게시했습니다 : https://devblogs.microsoft.com/dotnet/open -sourcing-xaml-behaviors-for-wpf /
클릭을 저장하기 위해 다음은 마이그레이션하는 주요 단계입니다.
다음과 호환되는 System.Windows.Interactivity.dll이 포함 된 새 NuGet 패키지가 있습니다.
Expression.Blend.Sdk를 설치하려면 패키지 관리자 콘솔에서 다음 명령을 실행하십시오.
PM> Install-Package Expression.Blend.Sdk
System.Windows.Interactivity
. 해결하려면 위의 내 대답을 참조하십시오.
가장 쉬운 방법은 NuGet에서 가져 오는 것입니다.
http://www.nuget.org/packages/System.Windows.Interactivity.WPF/
함께 Visual Studio를위한 혼합 버전 2013로 시작하는 비주얼 스튜디오에 포함되어 다음과 같은 폴더에 DLL을 찾을 수 있습니다 :
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries
System.Windows.Interactivity.dll
Interactivity 네임 스페이스를 사용하는 기능을 추가하기 위해 기존 프로젝트와 함께 Blend for Visual Studio를 사용하지 않는 한 자신 에 대한 참조 를 추가해야합니다. 이 경우 Blend는 자동으로 참조를 추가합니다.
때로는 새 라이브러리를 추가 할 때에서 충돌 버전의 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
당신이 가리키는 끝날 것으로 실제 버전 :
대체 솔루션입니다 수정 은 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 또는 이전 버전에서만 작동하는 것으로 보입니다. 이후 버전의 경우 다른 답변을 참조하십시오.
MVVM Light에 있으며 MVVM Light 다운로드 페이지에서 다운로드 할 수 있습니다.
Install-Package MvvmLightLibs -Version 5.3.0
Prism.WPF NuGet-Package를 통해 얻었습니다. (Windows.System.Interactivity 포함)
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을 참조로 수동으로 추가하면 괜찮을 것입니다.