From 084829cf335da3dc78f34e8bc440cec51ff490fd Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Tue, 10 Sep 2024 14:26:48 -0400 Subject: [PATCH 1/3] Retire the C++ UWP API --- .gitignore | 1 + CodeQL.yml | 4 - azure-pipelines/build.yml | 16 - samples/Cpp/XAMLBehaviorsSampleCpp.sln | 51 --- samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml | 16 - .../Cpp/XAMLBehaviorsSampleCpp/App.xaml.cpp | 120 ----- samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.h | 27 -- .../XAMLBehaviorsSampleCpp/Assets/Cheer.mp3 | Bin 117186 -> 0 bytes .../XAMLBehaviorsSampleCpp/Assets/Ding.mp3 | Bin 96580 -> 0 bytes .../Assets/LockScreenLogo.scale-200.png | Bin 1430 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 7700 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 2937 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 1647 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 1255 -> 0 bytes .../Assets/StoreLogo.png | Bin 1451 -> 0 bytes .../XAMLBehaviorsSampleCpp/Assets/Whistle.mp3 | Bin 61598 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 3204 -> 0 bytes .../ContentDialogPopUp.cpp | 14 - .../ContentDialogPopUp.h | 16 - .../ContentDialogSample.xaml | 16 - .../ContentDialogSample.xaml.cpp | 36 -- .../ContentDialogSample.xaml.h | 21 - ...StoryboardControl.DeviceFamily-Mobile.xaml | 82 ---- .../ControlStoryboardControl.xaml | 83 ---- .../ControlStoryboardControl.xaml.cpp | 27 -- .../ControlStoryboardControl.xaml.h | 18 - ...stomActionControl.DeviceFamily-Mobile.xaml | 64 --- .../CustomActionControl.xaml | 65 --- .../CustomActionControl.xaml.cpp | 27 -- .../CustomActionControl.xaml.h | 19 - ...omBehaviorControl.DeviceFamily-Mobile.xaml | 61 --- .../CustomBehaviorControl.xaml | 61 --- .../CustomBehaviorControl.xaml.cpp | 27 -- .../CustomBehaviorControl.xaml.h | 19 - .../DragPositionBehavior.cpp | 73 --- .../DragPositionBehavior.h | 31 -- ...entTriggerControl.DeviceFamily-Mobile.xaml | 82 ---- .../EventTriggerControl.xaml | 88 ---- .../EventTriggerControl.xaml.cpp | 27 -- .../EventTriggerControl.xaml.h | 18 - .../GoToStateControl.DeviceFamily-Mobile.xaml | 342 -------------- .../GoToStateControl.xaml | 341 -------------- .../GoToStateControl.xaml.cpp | 27 -- .../GoToStateControl.xaml.h | 18 - .../IncrementalSample.cpp | 17 - .../IncrementalSample.h | 14 - ...ntalUpdateControl.DeviceFamily-Mobile.xaml | 87 ---- .../IncrementalUpdateControl.xaml | 88 ---- .../IncrementalUpdateControl.xaml.cpp | 36 -- .../IncrementalUpdateControl.xaml.h | 23 - ...okeCommandControl.DeviceFamily-Mobile.xaml | 85 ---- .../InvokeCommandControl.xaml | 83 ---- .../InvokeCommandControl.xaml.cpp | 82 ---- .../InvokeCommandControl.xaml.h | 40 -- .../MainPage.DeviceFamily-Mobile.xaml | 100 ----- .../Cpp/XAMLBehaviorsSampleCpp/MainPage.xaml | 100 ----- .../XAMLBehaviorsSampleCpp/MainPage.xaml.cpp | 133 ------ .../XAMLBehaviorsSampleCpp/MainPage.xaml.h | 55 --- ...avigatePageSample.DeviceFamily-Mobile.xaml | 50 --- .../NavigatePageSample.xaml | 50 --- .../NavigatePageSample.xaml.cpp | 27 -- .../NavigatePageSample.xaml.h | 21 - ...gateToPageControl.DeviceFamily-Mobile.xaml | 58 --- .../NavigateToPageControl.xaml | 62 --- .../NavigateToPageControl.xaml.cpp | 27 -- .../NavigateToPageControl.xaml.h | 18 - .../Package.appxmanifest | 49 -- .../PlaySoundControl.DeviceFamily-Mobile.xaml | 79 ---- .../PlaySoundControl.xaml | 79 ---- .../PlaySoundControl.xaml.cpp | 27 -- .../PlaySoundControl.xaml.h | 18 - .../XAMLBehaviorsSampleCpp/SampleCommand.cpp | 21 - .../XAMLBehaviorsSampleCpp/SampleCommand.h | 20 - .../SampleResources.xaml | 241 ---------- .../XAMLBehaviorsSampleCpp.vcxproj | 391 ---------------- samples/Cpp/XAMLBehaviorsSampleCpp/pch.cpp | 6 - samples/Cpp/XAMLBehaviorsSampleCpp/pch.h | 11 - src/BehaviorsSDKNative/BehaviorsSDKNative.sln | 192 -------- ...MetadataTableProvider.DesignerIsolation.cs | 55 --- .../MetadataTableProvider.cs | 187 -------- .../Microsoft.Xaml.Interactions.Design.csproj | 146 ------ .../Properties/AssemblyInfo.cs | 41 -- .../DesignTools.Resources.Designer.cs | 405 ----------------- .../Properties/Resources.Designer.cs | 405 ----------------- .../Properties/Resources.resx | 234 ---------- .../Properties/Settings.Designer.cs | 26 -- .../Properties/Settings.settings | 7 - .../MetadataTableProvider.SurfaceIsolation.cs | 40 -- ...osoft.Xaml.Interactions.DesignTools.csproj | 84 ---- .../Properties/AssemblyInfo.cs | 16 - .../ControlStoryboardAction.cpp | 105 ----- .../ControlStoryboardAction.h | 79 ---- .../ControlStoryboardOption.h | 20 - .../EventManager.cpp | 107 ----- .../EventManager.h | 40 -- .../EventTriggerBehavior.cpp | 196 -------- .../EventTriggerBehavior.h | 155 ------- .../GoToStateAction.cpp | 82 ---- .../GoToStateAction.h | 101 ----- .../IncrementalUpdateBehavior.cpp | 375 ---------------- .../IncrementalUpdateBehavior.h | 139 ------ .../InvokeCommandAction.cpp | 103 ----- .../InvokeCommandAction.h | 151 ------- .../Microsoft.Xaml.Interactions.cpp | 5 - .../Microsoft.Xaml.Interactions.h | 4 - .../Microsoft.Xaml.Interactions.rc | Bin 2664 -> 0 bytes .../Microsoft.Xaml.Interactions.vcxproj | 361 --------------- ...icrosoft.Xaml.Interactions.vcxproj.filters | 76 ---- .../Microsoft.Xaml.Interactions1.rc | Bin 2668 -> 0 bytes .../Microsoft.Xaml.Interactions.de-DE.xlf | 66 --- .../Microsoft.Xaml.Interactions.es-ES.xlf | 66 --- .../Microsoft.Xaml.Interactions.fr-FR.xlf | 66 --- .../Microsoft.Xaml.Interactions.it-IT.xlf | 66 --- .../Microsoft.Xaml.Interactions.ja-JP.xlf | 66 --- .../Microsoft.Xaml.Interactions.ko-KR.xlf | 66 --- .../Microsoft.Xaml.Interactions.pt-BR.xlf | 69 --- .../Microsoft.Xaml.Interactions.ru-RU.xlf | 66 --- .../Microsoft.Xaml.Interactions.uk-UA.xlf | 66 --- .../Microsoft.Xaml.Interactions.zh-CN.xlf | 66 --- .../Microsoft.Xaml.Interactions.zh-TW.xlf | 66 --- .../NavigateToPageAction.cpp | 86 ---- .../NavigateToPageAction.h | 72 --- .../PlaySoundAction.cpp | 102 ----- .../PlaySoundAction.h | 89 ---- .../ResourceHelper.h | 44 -- .../Resources/de-DE/Strings.resw | 58 --- .../Resources/en-US/Strings.resw | 163 ------- .../Resources/es-ES/Strings.resw | 58 --- .../Resources/fr-FR/Strings.resw | 58 --- .../Resources/it-IT/Strings.resw | 58 --- .../Resources/ja-JP/Strings.resw | 58 --- .../Resources/ko-KR/Strings.resw | 58 --- .../Resources/pt-BR/Strings.resw | 61 --- .../Resources/ru-RU/Strings.resw | 58 --- .../Resources/uk-UA/Strings.resw | 58 --- .../Resources/zh-CN/Strings.resw | 58 --- .../Resources/zh-TW/Strings.resw | 58 --- .../packages.config | 4 - .../Microsoft.Xaml.Interactions/pch.cpp | 8 - .../Microsoft.Xaml.Interactions/pch.h | 10 - .../Microsoft.Xaml.Interactions/resource.h | 17 - .../Microsoft.Xaml.Interactions/resource1.h | 17 - .../Microsoft.Xaml.Interactions/targetver.h | 11 - ...MetadataTableProvider.DesignerIsolation.cs | 46 -- .../MetadataTableProvider.cs | 42 -- ...Microsoft.Xaml.Interactivity.Design.csproj | 143 ------ .../Properties/AssemblyInfo.cs | 39 -- .../DesignTools.Resources.Designer.cs | 72 --- .../Properties/Resources.Designer.cs | 72 --- .../Properties/Resources.resx | 124 ------ .../Properties/Settings.Designer.cs | 26 -- .../Properties/Settings.settings | 7 - .../MetadataTableProvider.SurfaceIsolation.cs | 31 -- ...soft.Xaml.Interactivity.DesignTools.csproj | 84 ---- .../Properties/AssemblyInfo.cs | 16 - .../ActionCollection.cpp | 44 -- .../ActionCollection.h | 26 -- .../BehaviorCollection.cpp | 179 -------- .../BehaviorCollection.h | 62 --- .../Microsoft.Xaml.Interactivity/IAction.h | 25 -- .../Microsoft.Xaml.Interactivity/IBehavior.h | 33 -- .../Interaction.cpp | 93 ---- .../Interaction.h | 55 --- .../Microsoft.Xaml.Interactivity.cpp | 5 - .../Microsoft.Xaml.Interactivity.h | 4 - .../Microsoft.Xaml.Interactivity.vcxproj | 351 --------------- ...crosoft.Xaml.Interactivity.vcxproj.filters | 68 --- .../Microsoft.Xaml.Interactivity.de-DE.xlf | 28 -- .../Microsoft.Xaml.Interactivity.es-ES.xlf | 28 -- .../Microsoft.Xaml.Interactivity.fr-FR.xlf | 28 -- .../Microsoft.Xaml.Interactivity.it-IT.xlf | 28 -- .../Microsoft.Xaml.Interactivity.ja-JP.xlf | 28 -- .../Microsoft.Xaml.Interactivity.ko-KR.xlf | 28 -- .../Microsoft.Xaml.Interactivity.pt-BR.xlf | 28 -- .../Microsoft.Xaml.Interactivity.ru-RU.xlf | 28 -- .../Microsoft.Xaml.Interactivity.uk-UA.xlf | 28 -- .../Microsoft.Xaml.Interactivity.zh-CN.xlf | 28 -- .../Microsoft.Xaml.Interactivity.zh-TW.xlf | 28 -- .../ResourceHelper.h | 16 - .../Resources/de-DE/Strings.resw | 27 -- .../Resources/en-US/Strings.resw | 132 ------ .../Resources/es-ES/Strings.resw | 27 -- .../Resources/fr-FR/Strings.resw | 27 -- .../Resources/it-IT/Strings.resw | 27 -- .../Resources/ja-JP/Strings.resw | 27 -- .../Resources/ko-KR/Strings.resw | 27 -- .../Resources/pt-BR/Strings.resw | 27 -- .../Resources/ru-RU/Strings.resw | 27 -- .../Resources/uk-UA/Strings.resw | 27 -- .../Resources/zh-CN/Strings.resw | 27 -- .../Resources/zh-TW/Strings.resw | 27 -- .../VisualStateUtilities.cpp | 117 ----- .../VisualStateUtilities.h | 48 -- .../packages.config | 4 - .../Microsoft.Xaml.Interactivity/pch.cpp | 8 - .../Microsoft.Xaml.Interactivity/pch.h | 10 - .../Microsoft.Xaml.Interactivity/resource.h | 14 - .../Microsoft.Xaml.Interactivity/targetver.h | 11 - .../NativeUnitTests/ActionCollectionTest.cs | 34 -- .../Assets/LockScreenLogo.scale-200.png | Bin 1430 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 7700 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 2937 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 1647 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 1255 -> 0 bytes .../NativeUnitTests/Assets/StoreLogo.png | Bin 1451 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 3204 -> 0 bytes .../NativeUnitTests/BehaviorCollectionTest.cs | 252 ----------- .../NativeUnitTests/InteractionTest.cs | 157 ------- .../NativeUnitTests/NativeUnitTests.csproj | 190 -------- .../NativeUnitTests/Package.appxmanifest | 45 -- .../Properties/AssemblyInfo.cs | 30 -- .../Properties/UnitTestApp.rd.xml | 29 -- .../NativeUnitTests/Stubs.cs | 418 ------------------ .../NativeUnitTests/TestUtilities.cs | 35 -- .../NativeUnitTests/UnitTestApp.xaml | 8 - .../NativeUnitTests/UnitTestApp.xaml.cs | 102 ----- .../NativeUnitTests/project.json | 19 - .../Version/Design.Version.cs | 14 - .../Microsoft.Xaml.Interactions.Version.rc | Bin 4850 -> 0 bytes .../Microsoft.Xaml.Interactivity.Version.rc | Bin 4856 -> 0 bytes .../Version/NuGetPackageVersion.props | 5 - src/BehaviorsSDKNative/Version/version.h | 4 - 222 files changed, 1 insertion(+), 14019 deletions(-) delete mode 100644 CodeQL.yml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp.sln delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Cheer.mp3 delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Ding.mp3 delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/LockScreenLogo.scale-200.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/SplashScreen.scale-200.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square150x150Logo.scale-200.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square44x44Logo.scale-200.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/StoreLogo.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Whistle.mp3 delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Wide310x150Logo.scale-200.png delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogPopUp.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogPopUp.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/Package.appxmanifest delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.DeviceFamily-Mobile.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.h delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/SampleResources.xaml delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/XAMLBehaviorsSampleCpp.vcxproj delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/pch.cpp delete mode 100644 samples/Cpp/XAMLBehaviorsSampleCpp/pch.h delete mode 100644 src/BehaviorsSDKNative/BehaviorsSDKNative.sln delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.DesignerIsolation.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/AssemblyInfo.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/DesignTools.Resources.Designer.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.Designer.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.resx delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.Designer.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.settings delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/MetadataTableProvider.SurfaceIsolation.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Microsoft.Xaml.Interactions.DesignTools.csproj delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Properties/AssemblyInfo.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardOption.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.rc delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj.filters delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions1.rc delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.de-DE.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.es-ES.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.fr-FR.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.it-IT.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ja-JP.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ko-KR.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.pt-BR.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ru-RU.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.uk-UA.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-CN.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-TW.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ResourceHelper.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/de-DE/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/en-US/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/es-ES/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/fr-FR/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/it-IT/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ja-JP/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ko-KR/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/pt-BR/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ru-RU/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/uk-UA/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-CN/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-TW/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/packages.config delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource1.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/targetver.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.DesignerIsolation.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Microsoft.Xaml.Interactivity.Design.csproj delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/AssemblyInfo.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/DesignTools.Resources.Designer.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.Designer.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.resx delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.Designer.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.settings delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/MetadataTableProvider.SurfaceIsolation.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Microsoft.Xaml.Interactivity.DesignTools.csproj delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Properties/AssemblyInfo.cs delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IAction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IBehavior.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj.filters delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.de-DE.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.es-ES.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.fr-FR.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.it-IT.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ja-JP.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ko-KR.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.pt-BR.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ru-RU.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.uk-UA.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-CN.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-TW.xlf delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ResourceHelper.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/de-DE/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/en-US/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/es-ES/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/fr-FR/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/it-IT/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ja-JP/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ko-KR/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/pt-BR/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ru-RU/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/uk-UA/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-CN/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-TW/Strings.resw delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/packages.config delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.cpp delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/resource.h delete mode 100644 src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/targetver.h delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/ActionCollectionTest.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/LockScreenLogo.scale-200.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/SplashScreen.scale-200.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/Square150x150Logo.scale-200.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/Square44x44Logo.scale-200.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/StoreLogo.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Assets/Wide310x150Logo.scale-200.png delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/BehaviorCollectionTest.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/InteractionTest.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/NativeUnitTests.csproj delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Package.appxmanifest delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Properties/AssemblyInfo.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Properties/UnitTestApp.rd.xml delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/Stubs.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/TestUtilities.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml.cs delete mode 100644 src/BehaviorsSDKNative/NativeUnitTests/project.json delete mode 100644 src/BehaviorsSDKNative/Version/Design.Version.cs delete mode 100644 src/BehaviorsSDKNative/Version/Microsoft.Xaml.Interactions.Version.rc delete mode 100644 src/BehaviorsSDKNative/Version/Microsoft.Xaml.Interactivity.Version.rc delete mode 100644 src/BehaviorsSDKNative/Version/NuGetPackageVersion.props delete mode 100644 src/BehaviorsSDKNative/Version/version.h diff --git a/.gitignore b/.gitignore index b3b25e35..99648629 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ build/ bld/ [Bb]in/ [Oo]bj/ +out/ # Visual Studio 2015 cache/options directory .vs/ diff --git a/CodeQL.yml b/CodeQL.yml deleted file mode 100644 index d278f998..00000000 --- a/CodeQL.yml +++ /dev/null @@ -1,4 +0,0 @@ -# This file specifies things for CodeQL to ignore. -path_classifiers: - library: - - src/BehaviorsSDKNative diff --git a/azure-pipelines/build.yml b/azure-pipelines/build.yml index 51a8deed..7c942682 100644 --- a/azure-pipelines/build.yml +++ b/azure-pipelines/build.yml @@ -10,10 +10,6 @@ variables: value: ${{ parameters.OfficialRelease }} - name: Codeql.Enabled value: true -- name: Codeql.Cadence - value: 24 -- name: Codeql.Language - value: csharp,powershell,cpp - name: Codeql.ExcludePathPatterns value: 'src/BehaviorsSDKNative' - name: SignType @@ -116,18 +112,6 @@ extends: solution: src\BehaviorsSDKManaged\Microsoft.Xaml.Interactivity.WinUI\Microsoft.Xaml.Interactivity.WinUI.csproj msbuildArgs: /t:Pack /p:SignType=$(SignType) /p:TimestampPackage=$(TimestampPackage) /p:PackageOutputPath="$(Build.SourcesDirectory)out" configuration: Release - - task: NuGetCommand@2 - displayName: Restore BehaviorsSDKNative.sln - inputs: - solution: src\BehaviorsSDKNative\BehaviorsSDKNative.sln - selectOrConfig: config - - task: VSBuild@1 - displayName: Build BehaviorsSDKNative.sln - inputs: - solution: src\BehaviorsSDKNative\BehaviorsSDKNative.sln - platform: Any CPU - configuration: Release - clean: true - task: CopyFiles@2 displayName: 'Copy Symbols to: $(Pipeline.Workspace)\Symbols' inputs: diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp.sln b/samples/Cpp/XAMLBehaviorsSampleCpp.sln deleted file mode 100644 index c09bdd13..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp.sln +++ /dev/null @@ -1,51 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30320.27 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XAMLBehaviorsSampleCpp", "XAMLBehaviorsSampleCpp\XAMLBehaviorsSampleCpp.vcxproj", "{099818B6-EB4B-4A05-9DB1-ED5401D283B4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM = Debug|ARM - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM = Release|ARM - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|ARM.ActiveCfg = Debug|ARM - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|ARM.Build.0 = Debug|ARM - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|ARM.Deploy.0 = Debug|ARM - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|ARM64.Build.0 = Debug|ARM64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|x64.ActiveCfg = Debug|x64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|x64.Build.0 = Debug|x64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|x64.Deploy.0 = Debug|x64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|x86.ActiveCfg = Debug|Win32 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|x86.Build.0 = Debug|Win32 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Debug|x86.Deploy.0 = Debug|Win32 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|ARM.ActiveCfg = Release|ARM - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|ARM.Build.0 = Release|ARM - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|ARM.Deploy.0 = Release|ARM - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|ARM64.ActiveCfg = Release|ARM64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|ARM64.Build.0 = Release|ARM64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|ARM64.Deploy.0 = Release|ARM64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|x64.ActiveCfg = Release|x64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|x64.Build.0 = Release|x64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|x64.Deploy.0 = Release|x64 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|x86.ActiveCfg = Release|Win32 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|x86.Build.0 = Release|Win32 - {099818B6-EB4B-4A05-9DB1-ED5401D283B4}.Release|x86.Deploy.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {6F717730-4739-41BA-B07A-44761D323A89} - EndGlobalSection -EndGlobal diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml deleted file mode 100644 index 0a71b25d..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.cpp deleted file mode 100644 index e336c5ff..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.cpp +++ /dev/null @@ -1,120 +0,0 @@ -// -// App.xaml.cpp -// Implementation of the App class. -// - -#include "pch.h" -#include "MainPage.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::ApplicationModel; -using namespace Windows::ApplicationModel::Activation; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Interop; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -/// -/// Initializes the singleton application object. This is the first line of authored code -/// executed, and as such is the logical equivalent of main() or WinMain(). -/// -App::App() -{ - InitializeComponent(); - Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending); -} - -/// -/// Invoked when the application is launched normally by the end user. Other entry points -/// will be used such as when the application is launched to open a specific file. -/// -/// Details about the launch request and process. -void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) -{ - -#if _DEBUG - // Show graphics profiling information while debugging. - if (IsDebuggerPresent()) - { - // Display the current frame rate counters - DebugSettings->EnableFrameRateCounter = true; - } -#endif - - auto rootFrame = dynamic_cast(Window::Current->Content); - - // Do not repeat app initialization when the Window already has content, - // just ensure that the window is active - if (rootFrame == nullptr) - { - // Create a Frame to act as the navigation context and associate it with - // a SuspensionManager key - rootFrame = ref new Frame(); - - rootFrame->NavigationFailed += ref new Windows::UI::Xaml::Navigation::NavigationFailedEventHandler(this, &App::OnNavigationFailed); - - if (e->PreviousExecutionState == ApplicationExecutionState::Terminated) - { - // TODO: Restore the saved session state only when appropriate, scheduling the - // final launch steps after the restore is complete - - } - - if (rootFrame->Content == nullptr) - { - // When the navigation stack isn't restored navigate to the first page, - // configuring the new page by passing required information as a navigation - // parameter - rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments); - } - // Place the frame in the current Window - Window::Current->Content = rootFrame; - // Ensure the current window is active - Window::Current->Activate(); - } - else - { - if (rootFrame->Content == nullptr) - { - // When the navigation stack isn't restored navigate to the first page, - // configuring the new page by passing required information as a navigation - // parameter - rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments); - } - // Ensure the current window is active - Window::Current->Activate(); - } -} - -/// -/// Invoked when application execution is being suspended. Application state is saved -/// without knowing whether the application will be terminated or resumed with the contents -/// of memory still intact. -/// -/// The source of the suspend request. -/// Details about the suspend request. -void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e) -{ - (void) sender; // Unused parameter - (void) e; // Unused parameter - - //TODO: Save application state and stop any background activity -} - -/// -/// Invoked when Navigation to a certain page fails -/// -/// The Frame which failed navigation -/// Details about the navigation failure -void App::OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e) -{ - throw ref new FailureException("Failed to load Page " + e->SourcePageType.Name); -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.h deleted file mode 100644 index f01cc728..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/App.xaml.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// App.xaml.h -// Declaration of the App class. -// - -#pragma once - -#include "App.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - /// - /// Provides application-specific behavior to supplement the default Application class. - /// - ref class App sealed - { - protected: - virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override; - - internal: - App(); - - private: - void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e); - void OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Cheer.mp3 b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Cheer.mp3 deleted file mode 100644 index 83ba1a3c0e91450bf82c6ae122b966af1ffedbfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117186 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 H|G@tPj)+xQ diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Ding.mp3 b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Ding.mp3 deleted file mode 100644 index 08a9ef19691504624736f33a4d19c9174e24cbc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96580 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 yGvCsSX*m diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/SplashScreen.scale-200.png b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 023e7f1feda78d5100569825acedfd213a0d84e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7700 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 diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square150x150Logo.scale-200.png b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square150x150Logo.scale-200.png deleted file mode 100644 index af49fec1a5484db1d52a7f9b5ec90a27c7030186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square44x44Logo.scale-200.png b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index ce342a2ec8a61291ba76c54604aea7e9d20af11b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png deleted file mode 100644 index f6c02ce97e0a802b85f6021e822c89f8bf57d5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/StoreLogo.png b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/StoreLogo.png deleted file mode 100644 index 7385b56c0e4d3c6b0efe3324aa1194157d837826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Whistle.mp3 b/samples/Cpp/XAMLBehaviorsSampleCpp/Assets/Whistle.mp3 deleted file mode 100644 index 2875c4909f04d8c036cccd11b23f70e39a390820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61598 zcmeI)2{csy|3C0MV`hvo_HC@$Biq>5KG`En_KvU0f55S+3Q4rqf3CZpBvzNQcec=l`-sQo_;&o8TWud&l7$C_IJd!6SvK^4*7-*-r~!m)AFbY!RO5KPcS+as%kT0D$Mtn??cv z4e!prwDT)(=dU}PayS5h8EP2m$Vw_JOUhdQ$2~~?-nTbX+|;iS2KtXv`ST5fLVvbF zj@zIRIja0Q6Dag&8|1hR3X!AApEH3%f3`u6+n^9Rs{A<EvmS`H3ETtMm*m%1K51GdLK`?hqnT3pLGUHFYrkHvfc87}o5vtdas#NB zK38U!Y~E>wz?Z`WxRPBfBnP|9TjsSG-1zmCF0w_v(->o^7E9*W&FM|j;t5Z_C(A%} z+`zQNH_uN>@7m0s0?XBy(KCv)DDPy}F8Eh7;M-v(-{Lo@dk^_7JFmPN9Tiv(|14p3 z>15ASDZOsl)ud6OS;k^Ttg2qXg&3Q+Z(p1K)iEVgx$|^$e%v>qYm5(a&odR?w9bZC z-rH~oTnf|hCbtp?H^T4pMTtnjvW$i`|1#yeV;g<_uCcOy$Vwyyx`SoOz$_Z80neh8 zd(>3%W`n=hs;hi*zud^k2RHK)t!gOdtN1a5ifnGGZ$$1rahEs3A5FrM>U!v~qKIytK}m`D>7n7n&Up)m3PyQaXtRMEZnVM6Dxi$3nU zm-g!PbyFA!Qn>{&RPrBS>%YfXSv|^isIxQ6ZSbc;uKQ1F2hBY#Zn&@Fg3`I2A58W> zZ4ebdQ=m&Zy1(yqs>DctRON6{vUQ`@sKGmBq|`_Guu}R{oO4I!?ui>-(H~7vpWHrI za&E;U!kqtuGTjGd@kjx07^{}*(L@^yXuI#2@dMH5g2WG1(w#KuUIBStw64Cw&$@-9 zX+Im|HKgeMSujG;m%OA73uIRsWt*OWUy2=@uO3S3)fZyQ&ZcykOVAk0 zn{_n$amb`y#N|qL8}(Ta0lEwF2ho!`Cwt1dFJ-aaLc3N!9jhzVqq|PJYdw+SP@yVl~cTF+qG2Y}_YW((kV(5kPMDw@pv!$2p#(S4K?#OPQQOvIDK})}3 zcNlM)xgp8)v-HHO>tBm1K3{1Z@+MJrXaEYpAcE=ufX3xWw~eSx2wA!f>Qm6dS}6A6 zj+M=3NV>G93+q}cH-n`V~76CB$=^Vxy8o8?RnZ9y`3wE0dq8N zDEhy8T|*&KmK@WX$szkJl@JZ8Zn=*}A~iO`-!-&bRMu`|421(+zxeUh1f*%7O2&JM zuel&q+}Qn~tWR*V07L+e%SDQCA$fn8jiJA{Eq|(&YHeZ2&QXrU4d4KA)2AUe26pyT zekp!ODO(k`P8^-){ITA&Rlhwt`h>bx_E})MY+ggJx5L8zjixE9ZJFtXKu)`bS=lEI z4n3Rt=GOC@mw5&k8^)U>o|<{%z1ICdKU`ORINg*VtrD<#6K@k0w7De>&)snY)Wy&# zr`|+f;~zRa2&;K7S!TW~Gy)*>6rNal=j=R#hPMR(IJk|(9&F)ug~E1(3O-0qadSW+ zCW59o96dIg_A0Z#sx)3emXhJ7^b7exMPX`%XI5G&#m&;I=WhpjjLPR2g&m@JE{o!z zfK;er_aG}O%9xQFAvw|*Iv|7|$!b?Oe?xNMZ8V+-XN`jx037=O8oo=$;u8CuMpIB(Xlw^)R-bVcg40<)2tp*j8P7)Dwn=Olc8`{QG6v|&OO_HyV3 z26hhZ5UrR%Ui#EAYt+4dm6a9qjiu`kuP$3j{nTG@%`PfnkxCM9p=GU2ZUsUG6qWrA z8or=>r15uhc7=KnYg3k8Z?}qf4t9ULw9U?2E`;8UiT-tz%MQKXsM5$;eRSu~`t7Z5 zcxNYoZeoj<7YK1FyInR`6>@V-Xhm*rG{4&?Y#OGnfPhp}0>?10_msTMSQn}<#}DEK zfVZL1EONIBrYag8+yF4`BV)n#Y`7x}I(x!5->FB)U_V$VGk3ub!DiYs^ zs#DEVPt;HdhFi~<$Mx{$nYK@35kMd%uOyb9s*RE!ffb~1rN*M@L)k-kVR-$pn6Pu) z7zQX`j8ZU$ieV#)o)t40CK~T-cRk|$qmt{d@joLNLcU02Oo2HCIDl;tr+hlVj7LPu zPI7R3Ju?)yxi?%%=(7x6!hP$wi@I~qUM09k?2mgRL_Fyyv{wLCH&E-Qzu{ z)^>&JDb|c6yKeJ*b@?TPSy|>o2OHpi2}vCkDIJ}7zwx%XzTxS3+j@HN8@ta8qWoRS z*GdPU%hWDb#m)g308oKw;~cKmj3*AZ76=V8ev4anA9d~Vr7=-&k7sWw0Z_v5NgpQ@ z2!ds@%(a|?l;zNn$s`U zDR|TyMcn4ivCI#v?h)8Gb^lxuyY0A|g)C#?K4+K@<_O13+0LmFFi)ssOvuu9)H}ad z99JaTurA(a0!=zOyz_G@IDlpa(9%@#ZBVo{WiJg9O~=#wjK7`FIaIwXw7n?O4Uf@~ zn`DMlc!?2LbD=I<0owLjBoWH8IfQ%LqWe;drCKauh2g6J}cA0)!55#tH~jqy4PoQ`}5R< zLO|e}r2F-pg{|A0KFjQz2c{Ii->wgiSbs3lOAoN9eLW_OT7K;OiZ-$)D9xa9>riFM zyml@!909>Aq2OYiG-{p}A-7PxOvze6>-ON>2MTeHsb2c8&X(kRbCrvJM4({@1rI-`pA8`Qh1TDchIc zpB?wOeBXTS%NBRD;)L%x%>+K%J+P0^B!E8aQY8@D8g#-rLZIcY)X4N%yS(Qo7S-o=Px12 z2#>2Wi9r!5w|_3ZYEN-9F83<_;9k|{C^%gqJvrT)_$v8xRv#8S$_anAkB_W%tn z7fQWU^0tl7eA!<;pAW>xKjJe*ilDh^nKQVcKEnIw(ns|28YxVlb_WF(LBf-<#=mU;vwm&KwpIW`K*$!;uc5Pe~%t@H1 zi>6OW{4gU(E53od7|mjJX|Ok$@x&r8z~#r^@+@zZ~8smAMU} z09vCk`cZR_dZ30B$k0fwrFQB1!QtN(W%S;KQ8ylt6p9+{o}&Zv&=p5$1OyKgYuu8#_-q_7wA0B zxhiUnIHL%8P*d+->Z zT!Y*Zr^L9#A7U^?|Hwn!Pxumw%)%0JxuH%R_=C`(kaH|}p{S+UcP}$9sxib>C(9}5pqva zZ{EEawns*gX*Pq!04?t!byPj%SVe0A`&x5g&&}80yjLCf89lS;zRGF$@UU0F!xHJ4 zvEhd&R9YiDP=@UO_gzx0M!w~?#h$hqA1yU7ROdQ$XY#86BOIP|i zBX1=wWmKT81c?Wr^xs+sEV}eh4MLS#v2OK+1u1@?D7o&uDP4Q9X)gYyIl|AGVa_cS z$3y|7XLhij-4^#bJHd6KiN*KM%ZK%&9aonOGcL$pY}Sndz_FeVf_AKi2xh+6tUv@6(>z z6}p03wL3a6$bIz8uQkLBKYF0_obT_WT+G|9WOh9pk$af<2DO@f8E<31I9QwCV93Ul z?~yP*rTg_*)IIxKCxp)hM~w1o8t?*ul&n7@gsvl_J7nc3lO=biC!K_nWiWhyS^NEj z{2VGru|O&;3@xpPmKA0GYmbm-(Cr3>yv}6kd$q;)%eMPfd4k0q-zX@0^SsW_h&ecM zuCAhaVrFiuJRfO8No8AQsKVsWw~s%+%_T%p`u3$6`J%gjTY+9X`!D@eat@&XM9>S~ z31icW3XRW5_))9ZqmU&e0`L_)f+ANKYuqmv35I&F^Ri=gz z)kF@S+Z8Irtw011zqju;`6WdAp#1Qi&s0gj&OoQ#>ea-sI{jg+*aHIAbG*O%%`>2bTS{)T%AP*I~BU@T5WGf#u%9`B{RJb#AAG`4qbc|bVSRCIg?rSL zPunld3-lXWmny{+${rLg8e&M{Vz&O2|?Us)eu8^ll=SX@hjx+d+@W{A68cp-qA zsWTx_$Mkq%iJLBt#^SU(FKyIxarFUVkJOBe-W%6#N0e8_>MxzWtTA&q8Q6+T^DPl& zQRDZNyJu0I7Gjl*wS)Qwc>ila0N@IYN*>JQ;n5f1&~DN-E4D~gG6-Rr?q->m$kI&v zd9O<1y24{AeIr}1RF#!LG;%L{)AzB3&Ns1_uMaf+kO{gK)Aq8`N_C>Wv`kF=jN^#7 z2k*<9Zk@v7&LMlvCGEPGwd)$vp4;XsnGLWfKl&~z^vWodwe&V^&)1Rxt4uM5{NO4x zx2lTn@M4Gk2aH*yhuLeUB*pbp0*WqZAcO_gQ%?)F4~THGX44;n%KQ~8gA8qy%*XS} zLhBJ7hcnY|Zfe%3a7P`(-)DU1jV+U~6zCAl)DNrEc-kMDgHcXwy|(`p`d7{`|Ay!6E}>6}D-#E_7#3aL z{Q_bO%G^Tl|Hls>{te&u|9#1wi?bpl!7MS__P9gxCQ|_o%M2nnxJIAo9=_knZ>%B& zU@s`89lQIYBVDq-reXTQht<(qkL*pG+k3rgj~A9+pr&wk&9ksz##K;2-#1$(n|RS^ z6rR@@3o}`H9+6SrO_w;5lUhr=^EJQTnqHHN8fnc({TIXox{Dtd78X{YAMPwI>q9^9 z9W5@dH0myn9sTT}~1?@J26-ygic4s!p# z@BY8wmB~T~yeXK#o&pLHD2FT}P>3uT2n+!V5h#Z&B2b7d7zhjj3K1xWEFw^dEEot3 z0SXZ)hb$sch%6Wg3;_xeD2FT}P>3uT2n+!V5h#Z&B2b7d7zhjj3K1xWEFw^dEEot3 z0SXZ)hb$sch%6Wg3;_xeD2FT}P>3uT2n+!V5h#Z&B2b7d82ybAg~)<|z!0DifpW+q0)@zefxr-;5P@>YA_9fT zf`Pygpb&v_$RYxT$bx~u5TFo&a>ybAg~)<|z!0DifpW+q0)@zefxr-;5P@>YA_9fT zf`Pygpb&v_$RYxT$bx~u5TFo&a>ybAg~)<|z!0DifpW+q0)@zefxr-;5P@>YA_9fT zf`Pygpb&v_$RQ#*5O_l)k==mgLf{RJpb(J;$UO$v5GX{X0q`hCq#$q&5h;k|F(^cG z0wM!|LPQE8c?=4XoPfvxpb(LQNFIYiBqty;04PMHAd<(R5XlLM3;+rdDTw4TC`57s zA_IUzL<%B#3<{B)fXD!#5RrmN9)m(8Cm=EaC`66N$%VihNkAbY4Ul^bt|3r}NCV(ejz~e^8X{5<$zxE6AFNLtHB6$o7k(_|Y0H6?&f=C{NLL?_3G5{z}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- zf+K}sCe8qU6Ujs`3ua{U0Of$R_gVQBuUA za0v=mu#vIOqiiAZOr&h*$WyOw&k-xr$;G4Ixa!#TJNr>95(h>l%)PUy4p+^SgR(uR zta%k*?ny-+nAr8spEk1fo{J4i!b^Fia`N{_F6@zidA2ZTTrjl#^5Z-2KfB@Cu}l9s z(*|Z2jc?p~vn2f)3y9i*7zJV1L{$?|&q)4oaT;uXi6>1GkRXVTOzAz(RHEmr=eFIi z`}<>-Q?K0GN8!IYxeP1XKXO+jsJbp~o^);Bc;%b7Flpe7;1`Ny@3r7ZR;?R)aJt8C ziNlEC<@3f_lIV4TwV}&e;D!Ee5_|e#g0LUh=5vmYWYm7&2h*M>QPKvGh9-)wfMMW3 z8J9b%1k7dzPzO0_NGQy92BZ^FR6R~6;^6?lqO;-QUP4BY%cG%3vEhbm#>4vIhPBh3 z-+pZGjh$x%Hp{?=FHsMp0&wNPlj00us{&`1ZOZTqs8%4X&xH=UDr*xyBW(Zp&Em94 zf)ZSfn#yg0N)>!1kWdkqJ^S*z0FF5|fj&qcE#Na|%OY0$uO>!&hP+1ywfD_WXk@4J(?MBftK7>$Nvqh@tDuarN%PrTLQ2Uzysx>UV=V zk^RrDSvdQ?0;=hY67EgII-f4`t=+i*yS=Y~!XlqIy_4x&%+OdfbKOFPXS2X5%4R{N z$SQMX^AK6(fAShowAsync(); - return nullptr; -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogPopUp.h b/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogPopUp.h deleted file mode 100644 index 847aa999..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogPopUp.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once -#include "ContentDialogSample.xaml.h" - - -namespace XAMLBehaviorsSampleCpp -{ - using namespace Microsoft::Xaml::Interactivity; - public ref class ContentDialogPopUp sealed : public Windows::UI::Xaml::DependencyObject, public IAction - { - public: - virtual Platform::Object^ Execute(Platform::Object^ sender, Platform::Object^ parameter); - - private: - ContentDialogSample^ samplecd; - }; -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml deleted file mode 100644 index 7953c649..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml +++ /dev/null @@ -1,16 +0,0 @@ - - - \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.cpp deleted file mode 100644 index 8ac82c33..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// -// ContentDialogSample.xaml.cpp -// Implementation of the ContentDialogSample class -// - -#include "pch.h" -#include "ContentDialogSample.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The Content Dialog item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 - -XAMLBehaviorsSampleCpp::ContentDialogSample::ContentDialogSample() -{ - InitializeComponent(); -} - -void XAMLBehaviorsSampleCpp::ContentDialogSample::ContentDialog_PrimaryButtonClick(Windows::UI::Xaml::Controls::ContentDialog^ sender, Windows::UI::Xaml::Controls::ContentDialogButtonClickEventArgs^ args) -{ - this->Hide(); -} - -void XAMLBehaviorsSampleCpp::ContentDialogSample::ContentDialog_SecondaryButtonClick(Windows::UI::Xaml::Controls::ContentDialog^ sender, Windows::UI::Xaml::Controls::ContentDialogButtonClickEventArgs^ args) -{ -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.h deleted file mode 100644 index ce81d553..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ContentDialogSample.xaml.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// ContentDialogSample.xaml.h -// Declaration of the ContentDialogSample class -// - -#pragma once - -#include "ContentDialogSample.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class ContentDialogSample sealed - { - public: - ContentDialogSample(); - private: - void ContentDialog_PrimaryButtonClick(Windows::UI::Xaml::Controls::ContentDialog^ sender, Windows::UI::Xaml::Controls::ContentDialogButtonClickEventArgs^ args); - void ContentDialog_SecondaryButtonClick(Windows::UI::Xaml::Controls::ContentDialog^ sender, Windows::UI::Xaml::Controls::ContentDialogButtonClickEventArgs^ args); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index 84eb33a1..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ControlStoryboardAction represents an action that will change the state of the specified Storyboard when executed. - In this example, clicking the button triggers the ControlStoryboardAction to toggle playing and pausing a storyboard that changes the size of the rectangle. - - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click"> - <Media:ControlStoryboardAction Storyboard="{StaticResource StoryboardSample}" ControlStoryboardOption="TogglePlayPause"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml deleted file mode 100644 index 139b9712..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ControlStoryboardAction represents an action that will change the state of the specified Storyboard when executed. - In this example, clicking the button triggers the ControlStoryboardAction to toggle playing and pausing a storyboard that changes the size of the rectangle. - - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click"> - <Media:ControlStoryboardAction Storyboard="{StaticResource StoryboardSample}" ControlStoryboardOption="TogglePlayPause"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.cpp deleted file mode 100644 index bb67db19..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// ControlStoryboardControl.xaml.cpp -// Implementation of the ControlStoryboardControl class -// - -#include "pch.h" -#include "ControlStoryboardControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -ControlStoryboardControl::ControlStoryboardControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.h deleted file mode 100644 index d12113da..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/ControlStoryboardControl.xaml.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// ControlStoryboardControl.xaml.h -// Declaration of the ControlStoryboardControl class -// - -#pragma once - -#include "ControlStoryboardControl.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class ControlStoryboardControl sealed - { - public: - ControlStoryboardControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index 8227b89f..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - This example illustrates a custom action that brings up a ContentDialog when the button is clicked. - - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button}"> - <Behaviors:ContentDialogPopUp/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml deleted file mode 100644 index 4c6581b3..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - This example illustrates a custom action that brings up a ContentDialog when the button is clicked. - - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button}"> - <Behaviors:ContentDialogPopUp/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.cpp deleted file mode 100644 index e344bf0a..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// CustomActionControl.xaml.cpp -// Implementation of the CustomActionControl class -// - -#include "pch.h" -#include "CustomActionControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -CustomActionControl::CustomActionControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.h deleted file mode 100644 index c4b577a4..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomActionControl.xaml.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// CustomActionControl.xaml.h -// Declaration of the CustomActionControl class -// - -#pragma once - -#include "CustomActionControl.g.h" -#include "ContentDialogPopUp.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class CustomActionControl sealed - { - public: - CustomActionControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index bfd00c4f..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - Implementing a Custom Behavior for DragPositionBehavior allows controls to be moved around the canvas. - In this example, the shapes are able to be dragged around the page using a mouse drag. - - - - <Rectangle> - <Interactivity:Interaction.Behaviors> - <Behaviors:DragPositionBehavior/> - </Interactivity:Interaction.Behaviors> -</Rectangle> - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml deleted file mode 100644 index fc249a18..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - Implementing a Custom Behavior for DragPositionBehavior allows controls to be moved around the canvas. - In this example, the shapes are able to be dragged around the page using a mouse drag. - - - - <Rectangle> - <Interactivity:Interaction.Behaviors> - <Behaviors:DragPositionBehavior/> - </Interactivity:Interaction.Behaviors> -</Rectangle> - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.cpp deleted file mode 100644 index 0ca4e2a4..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// CustomBehaviorControl.xaml.cpp -// Implementation of the CustomBehaviorControl class -// - -#include "pch.h" -#include "CustomBehaviorControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -CustomBehaviorControl::CustomBehaviorControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.h deleted file mode 100644 index 4bbb1ec4..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/CustomBehaviorControl.xaml.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// CustomBehaviorControl.xaml.h -// Declaration of the CustomBehaviorControl class -// - -#pragma once - -#include "CustomBehaviorControl.g.h" -#include "DragPositionBehavior.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class CustomBehaviorControl sealed - { - public: - CustomBehaviorControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.cpp deleted file mode 100644 index 0898095c..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include "pch.h" -#include "DragPositionBehavior.h" - -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Input; -using namespace Platform; -using namespace XAMLBehaviorsSampleCpp; - -void DragPositionBehavior::Attach(DependencyObject^ associatedObject) -{ - if ((associatedObject != AssociatedObject) && !Windows::ApplicationModel::DesignMode::DesignModeEnabled) - { - this->associatedObject = associatedObject; - FrameworkElement^ fe = dynamic_cast(AssociatedObject); - if (fe != nullptr) - { - fe->PointerPressed += ref new PointerEventHandler(this, &DragPositionBehavior::fe_PointerPressed); - fe->PointerReleased += ref new PointerEventHandler(this, &DragPositionBehavior::fe_PointerReleased); - } - } -} - -void DragPositionBehavior::fe_PointerPressed(Object^ sender, PointerRoutedEventArgs^ e) -{ - FrameworkElement^ fe = dynamic_cast(AssociatedObject); - parent = dynamic_cast(fe->Parent); - - if (!(dynamic_cast(fe->RenderTransform) != nullptr)) - fe->RenderTransform = ref new TranslateTransform(); - prevPoint = e->GetCurrentPoint(parent)->Position; - - parent->PointerMoved += ref new PointerEventHandler(this, &DragPositionBehavior::move); - - pointerId = (int)e->Pointer->PointerId; -} - -void DragPositionBehavior::move(Object^ o, PointerRoutedEventArgs^ args) -{ - if (args->Pointer->PointerId != pointerId) - return; - - FrameworkElement^ fe = dynamic_cast(AssociatedObject); - auto pos = args->GetCurrentPoint(parent)->Position; - auto tr = dynamic_cast(fe->RenderTransform); - tr->X += pos.X - prevPoint.X; - tr->Y += pos.Y - prevPoint.Y; - prevPoint = pos; -} - -void DragPositionBehavior::fe_PointerReleased(Object^ sender, PointerRoutedEventArgs^ e) -{ - FrameworkElement^ fe = dynamic_cast(AssociatedObject); - if (e->Pointer->PointerId != pointerId) - return; - //Remove Event Handler - //parent->PointerMoved -= &DragPositionBehavior::move; - pointerId = -1; -} -void DragPositionBehavior::Detach() -{ - FrameworkElement^ fe = dynamic_cast(AssociatedObject); - if (fe != nullptr) - { - //Remove Event Handlers - //fe->PointerPressed -= &DragPositionBehavior::fe_PointerPressed; - //fe->PointerReleased -= &DragPositionBehavior::fe_PointerReleased; - } - parent = nullptr; - this->associatedObject = nullptr; -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.h b/samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.h deleted file mode 100644 index 122be42a..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/DragPositionBehavior.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -namespace XAMLBehaviorsSampleCpp -{ - using namespace Microsoft::Xaml::Interactivity; - - public ref class DragPositionBehavior sealed : Windows::UI::Xaml::DependencyObject, IBehavior - { - private: - DependencyObject^ associatedObject; - Windows::UI::Xaml::UIElement^ parent = nullptr; - Windows::Foundation::Point prevPoint; - int pointerId = -1; - - void fe_PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); - void fe_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e); - - public: - virtual property DependencyObject^ AssociatedObject - { - DependencyObject^ get() - { - return this->associatedObject; - } - } - virtual void Attach(DependencyObject^ associatedObject); - virtual void Detach(); - - void move(Platform::Object^ o, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ args); - }; -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index df05ebc2..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EventTriggerBehavior listens for a specific event on its source and executes an action when the event is fired. - In this example, the EventTriggerBehavior listens for the "Click" event on the button. When it is fired, it triggers a storyboard that changes the size and color of the rectangle. - - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click"> - <Media:ControlStoryboardAction Storyboard="{StaticResource StoryboardSample}" ControlStoryboardOption="TogglePlayPause"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml deleted file mode 100644 index 34d5971c..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EventTriggerBehavior listens for a specific event on its source and executes an action when the event is fired. - In this example, the EventTriggerBehavior listens for the "Click" event on the button. When it is fired, it triggers a storyboard that changes the size and color of the rectangle. - - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click"> - <Media:ControlStoryboardAction Storyboard="{StaticResource StoryboardSample}" ControlStoryboardOption="TogglePlayPause"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.cpp deleted file mode 100644 index a6f2b373..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// EventTriggerControl.xaml.cpp -// Implementation of the EventTriggerControl class -// - -#include "pch.h" -#include "EventTriggerControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -EventTriggerControl::EventTriggerControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.h deleted file mode 100644 index 1b2987f9..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/EventTriggerControl.xaml.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// EventTriggerControl.xaml.h -// Declaration of the EventTriggerControl class -// - -#pragma once - -#include "EventTriggerControl.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class EventTriggerControl sealed - { - public: - EventTriggerControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index ba317728..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - GoToStateAction represents an action that will transition a FrameworkElement (i.e. Button) to a specified VisualState when triggered. - In this example, clicking the below button will trigger the GoToStateAction to make the sample button transition into a disabled state. - - - - <CheckBox x:Name="checkBox"> - <Interactivity:Interaction.Behaviors> - <Interactions:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=checkBox}" Value="True"> - <Interactions:GoToStateAction StateName="Disabled" TargetObject="{Binding ElementName=sampleStateButton}"/> - </Interactions:DataTriggerBehavior> - <Interactions:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=checkBox}" Value="False"> - <Interactions:GoToStateAction StateName="Normal" TargetObject="{Binding ElementName=sampleStateButton}"/> - </Interactions:DataTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</CheckBox> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml deleted file mode 100644 index c512a906..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - GoToStateAction represents an action that will transition a FrameworkElement (i.e. Button) to a specified VisualState when triggered. - In this example, clicking the below button will trigger the GoToStateAction to make the sample button transition into a disabled state. - - - - <CheckBox x:Name="checkBox"> - <Interactivity:Interaction.Behaviors> - <Interactions:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=checkBox}" Value="True"> - <Interactions:GoToStateAction StateName="Disabled" TargetObject="{Binding ElementName=sampleStateButton}"/> - </Interactions:DataTriggerBehavior> - <Interactions:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=checkBox}" Value="False"> - <Interactions:GoToStateAction StateName="Normal" TargetObject="{Binding ElementName=sampleStateButton}"/> - </Interactions:DataTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</CheckBox> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.cpp deleted file mode 100644 index ad14c81d..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// GoToStateControl.xaml.cpp -// Implementation of the GoToStateControl class -// - -#include "pch.h" -#include "GoToStateControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -GoToStateControl::GoToStateControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.h deleted file mode 100644 index 6d90a731..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/GoToStateControl.xaml.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// GoToStateControl.xaml.h -// Declaration of the GoToStateControl class -// - -#pragma once - -#include "GoToStateControl.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class GoToStateControl sealed - { - public: - GoToStateControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.cpp deleted file mode 100644 index 2f9dd63c..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "pch.h" -#include "IncrementalSample.h" - -using namespace XAMLBehaviorsSampleCpp; - -ItemSample::ItemSample() -{ - Count = 0; -} - -ItemSample::ItemSample(int i) -{ - Count = i; -} - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.h b/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.h deleted file mode 100644 index a0297171..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalSample.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -namespace XAMLBehaviorsSampleCpp -{ - - public ref class ItemSample sealed - { - int Count; - - public: - ItemSample(); - ItemSample(int i); - }; -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index cc196135..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IncrementalUpdateBehavior attaches to the DataTemplate inside ListViewBase controls (i.e. ListView and GridView). - It enables deferred rendering for specified elements in the ItemTemplate used by the view. - In the sample, declaring elements in the GridView in certain phases defers updates until there is render time available, resulting in a smoother expeirence. - - - - <DataTemplate x:Key="GridViewItem"> - <StackPanel> - <Rectangle> - <Interactivity:Interaction.Behaviors> - <Interactions:IncrementalUpdateBehavior Phase="2"/> - </Interactivity:Interaction.Behaviors> - </Rectangle> - <TextBlock Text="{Binding Count}"> - <Interactivity:Interaction.Behaviors> - <Interactions:IncrementalUpdateBehavior Phase="1"/> - </Interactivity:Interaction.Behaviors> - </TextBlock> - </StackPanel> -</DataTemplate> - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml deleted file mode 100644 index d58733dd..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IncrementalUpdateBehavior attaches to the DataTemplate inside ListViewBase controls (i.e. ListView and GridView). - It enables deferred rendering for specified elements in the ItemTemplate used by the view. - In the sample, declaring elements in the GridView in certain phases defers updates until there is render time available, resulting in a smoother expeirence. - - - - <DataTemplate x:Key="GridViewItem"> - <StackPanel> - <Rectangle> - <Interactivity:Interaction.Behaviors> - <Interactions:IncrementalUpdateBehavior Phase="2"/> - </Interactivity:Interaction.Behaviors> - </Rectangle> - <TextBlock Text="{Binding Count}"> - <Interactivity:Interaction.Behaviors> - <Interactions:IncrementalUpdateBehavior Phase="1"/> - </Interactivity:Interaction.Behaviors> - </TextBlock> - </StackPanel> -</DataTemplate> - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.cpp deleted file mode 100644 index 9374b999..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// -// IncrementalUpdateControl.xaml.cpp -// Implementation of the IncrementalUpdateControl class -// - -#include "pch.h" -#include "IncrementalUpdateControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Platform::Collections; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -IncrementalUpdateControl::IncrementalUpdateControl() -{ - InitializeComponent(); - - Items = ref new Platform::Collections::Vector(); - gridViewSample->ItemsSource = Items; - for (int i = 1; i <= 100; i++) - { - Items->Append(ref new ItemSample(i)); - } -} - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.h deleted file mode 100644 index 632bfaec..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/IncrementalUpdateControl.xaml.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// IncrementalUpdateControl.xaml.h -// Declaration of the IncrementalUpdateControl class -// - -#pragma once - -#include "IncrementalUpdateControl.g.h" -#include "IncrementalSample.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class IncrementalUpdateControl sealed - { - Windows::UI::Xaml::Interop::IBindableObservableVector^ Items; - public: - IncrementalUpdateControl(); - - private: - - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index 8193b42a..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - The InvokeCommandAction action executes a specified ICommand on a specified target object when invoked. - In this example there are several buttons set up with InvokeCommandAction attached to them. - When clicked, the action triggers an ICommand to increment the count or change the background color. - - - - <Button x:Name="button1"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button1}"> - <Interactions:InvokeCommandAction Command=""{Binding GreyCommand}""/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml deleted file mode 100644 index 705693d6..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - The InvokeCommandAction action executes a specified ICommand on a specified target object when invoked. - In this example there are several buttons set up with InvokeCommandAction attached to them. - When clicked, the action triggers an ICommand to increment the count or change the background color. - - - - <Button x:Name="button1"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button1}"> - <Interactions:InvokeCommandAction Command="{Binding GreyCommand}"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.cpp deleted file mode 100644 index 701ed4fa..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// -// InvokeCommandControl.xaml.cpp -// Implementation of the InvokeCommandControl class -// - -#include "pch.h" -#include "InvokeCommandControl.xaml.h" -#include "SampleCommand.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -InvokeCommandControl::InvokeCommandControl() -{ - UpdateGreyCommand = ref new SampleCommand(ref new ExecuteDelegate(this, &InvokeCommandControl::updateGrey), nullptr); - UpdatePinkCommand = ref new SampleCommand(ref new ExecuteDelegate(this, &InvokeCommandControl::updatePink), nullptr); - - InitializeComponent(); - this->DataContext = this; - - darkgreybrush = ref new SolidColorBrush(); - Color grey = Color(); - grey.A = 255; - grey.R = 51; - grey.G = 51; - grey.B = 50; - darkgreybrush->Color = grey; - - pinkbrush = ref new SolidColorBrush(); - Color pink = Color(); - pink.A = 255; - pink.R = 233; - pink.G = 95; - pink.B = 91; - pinkbrush->Color = pink; - - - -} - -ICommand^ InvokeCommandControl::GreyCommand::get() -{ - return UpdateGreyCommand; -} - -ICommand^ InvokeCommandControl::PinkCommand::get() -{ - return UpdatePinkCommand; -} - -void InvokeCommandControl::GreyCommand::set(Windows::UI::Xaml::Input::ICommand^ value) -{ - UpdateGreyCommand = value; -} - -void InvokeCommandControl::PinkCommand::set(Windows::UI::Xaml::Input::ICommand^ value) -{ - UpdateGreyCommand = value; -} - -void InvokeCommandControl::updateGrey(Platform::Object^ parameter) -{ - border->Background = darkgreybrush; -} - -void InvokeCommandControl::updatePink(Platform::Object^ parameter) -{ - border->Background = pinkbrush; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.h deleted file mode 100644 index b20d7ee0..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/InvokeCommandControl.xaml.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// InvokeCommandControl.xaml.h -// Declaration of the InvokeCommandControl class -// - -#pragma once - -#include "InvokeCommandControl.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::UI::Xaml::Data::Bindable] - public ref class InvokeCommandControl sealed - { - public: - InvokeCommandControl(); - - property Windows::UI::Xaml::Input::ICommand^ GreyCommand - { - Windows::UI::Xaml::Input::ICommand^ get(); - void set(Windows::UI::Xaml::Input::ICommand^ value); - } - - property Windows::UI::Xaml::Input::ICommand^ PinkCommand - { - Windows::UI::Xaml::Input::ICommand^ get(); - void set(Windows::UI::Xaml::Input::ICommand^ value); - } - - private: - Windows::UI::Xaml::Input::ICommand^ UpdateGreyCommand; - Windows::UI::Xaml::Input::ICommand^ UpdatePinkCommand; - - Windows::UI::Xaml::Media::SolidColorBrush^ darkgreybrush; - Windows::UI::Xaml::Media::SolidColorBrush^ pinkbrush; - - void updateGrey(Platform::Object^ parameter); - void updatePink(Platform::Object^ parameter); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.DeviceFamily-Mobile.xaml deleted file mode 100644 index 41105e86..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/MainPage.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml deleted file mode 100644 index 16f6344b..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.cpp deleted file mode 100644 index a253e0b5..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// NavigatePageSample.xaml.cpp -// Implementation of the NavigatePageSample class -// - -#include "pch.h" -#include "NavigatePageSample.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 - -NavigatePageSample::NavigatePageSample() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.h deleted file mode 100644 index 09a83d27..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigatePageSample.xaml.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// NavigatePageSample.xaml.h -// Declaration of the NavigatePageSample class -// - -#pragma once - -#include "NavigatePageSample.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - ///

- /// An empty page that can be used on its own or navigated to within a Frame. - /// - [Windows::Foundation::Metadata::WebHostHidden] - public ref class NavigatePageSample sealed - { - public: - NavigatePageSample(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index 695b0db4..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - NavigateToPageAction represents an action that switches the current visual to a specified Page. In this example, clicking the button triggers a NavigateToPageAction that reloads the current page. - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button}"> - <Interactions:NavigateToPageAction TargetPage="XAMLBehaviorsSample.NavigatePageSample"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml deleted file mode 100644 index 9757a216..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - NavigateToPageAction represents an action that switches the current visual to a specified Page. In this example, clicking the button triggers a NavigateToPageAction that reloads the current page. - - - <Button x:Name="button"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button}"> - <Interactions:NavigateToPageAction TargetPage="XAMLBehaviorsSample.NavigatePageSample"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.cpp deleted file mode 100644 index 029d4f76..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// NavigateToPageControl.xaml.cpp -// Implementation of the NavigateToPageControl class -// - -#include "pch.h" -#include "NavigateToPageControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -NavigateToPageControl::NavigateToPageControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.h deleted file mode 100644 index 9ca0175e..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/NavigateToPageControl.xaml.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// NavigateToPageControl.xaml.h -// Declaration of the NavigateToPageControl class -// - -#pragma once - -#include "NavigateToPageControl.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class NavigateToPageControl sealed - { - public: - NavigateToPageControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/Package.appxmanifest b/samples/Cpp/XAMLBehaviorsSampleCpp/Package.appxmanifest deleted file mode 100644 index 1bb91a43..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/Package.appxmanifest +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - XAMLBehaviorsSampleCpp - jonchu - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.DeviceFamily-Mobile.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.DeviceFamily-Mobile.xaml deleted file mode 100644 index 99cfc580..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.DeviceFamily-Mobile.xaml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - PlaySoundAction represents an action that will play a sound to completion. In this example, clicking the button plays a sample sound. - - - - <Button x:Name="button1"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button1}"> - <Media:PlaySoundAction Source="Assets/Ding.mp3" Volume="1"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml deleted file mode 100644 index 5ef511b1..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - PlaySoundAction represents an action that will play a sound to completion. In this example, clicking the button plays a sample sound. - - - - <Button x:Name="button1"> - <Interactivity:Interaction.Behaviors> - <Interactions:EventTriggerBehavior EventName="Click" SourceObject="{Binding ElementName=button1}"> - <Media:PlaySoundAction Source="Assets/Ding.mp3" Volume="1"/> - </Interactions:EventTriggerBehavior> - </Interactivity:Interaction.Behaviors> -</Button> - - - - - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.cpp deleted file mode 100644 index 69e258a5..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// PlaySoundControl.xaml.cpp -// Implementation of the PlaySoundControl class -// - -#include "pch.h" -#include "PlaySoundControl.xaml.h" - -using namespace XAMLBehaviorsSampleCpp; - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::UI::Xaml::Navigation; - -// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 - -PlaySoundControl::PlaySoundControl() -{ - InitializeComponent(); -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.h b/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.h deleted file mode 100644 index fdd46c0f..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/PlaySoundControl.xaml.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// PlaySoundControl.xaml.h -// Declaration of the PlaySoundControl class -// - -#pragma once - -#include "PlaySoundControl.g.h" - -namespace XAMLBehaviorsSampleCpp -{ - [Windows::Foundation::Metadata::WebHostHidden] - public ref class PlaySoundControl sealed - { - public: - PlaySoundControl(); - }; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.cpp deleted file mode 100644 index 78f8e4b8..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "pch.h" -#include "SampleCommand.h" - -using namespace Platform; -using namespace XAMLBehaviorsSampleCpp; - -SampleCommand::SampleCommand(ExecuteDelegate^ execute, CanExecuteDelegate^ canExecute) : m_executeDelegate(execute), m_canExecuteDelegate(canExecute) -{ -} - -void SampleCommand::Execute(Object^ parameter) -{ - m_executeDelegate(parameter); -} - -bool SampleCommand::CanExecute(Object^ parameter) -{ - return true; -} diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.h b/samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.h deleted file mode 100644 index 02db1264..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/SampleCommand.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -namespace XAMLBehaviorsSampleCpp -{ - public delegate void ExecuteDelegate(Platform::Object^ parameter); - public delegate bool CanExecuteDelegate(Platform::Object^ parameter); - - public ref class SampleCommand sealed : public Windows::UI::Xaml::Input::ICommand - { - public: - SampleCommand(ExecuteDelegate^ execute, CanExecuteDelegate^ canExecute); - virtual event Windows::Foundation::EventHandler^ CanExecuteChanged; - virtual void Execute(Platform::Object^ parameter); - virtual bool CanExecute(Platform::Object^ parameter); - private: - ExecuteDelegate^ m_executeDelegate; - CanExecuteDelegate^ m_canExecuteDelegate; - bool m_canExecute; - }; -} \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/SampleResources.xaml b/samples/Cpp/XAMLBehaviorsSampleCpp/SampleResources.xaml deleted file mode 100644 index 5c358051..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/SampleResources.xaml +++ /dev/null @@ -1,241 +0,0 @@ - - - #FFE9E9E9 - #333332 - #888887 - #1352A2 - #FFF3C345 - #FFE95F5B - - - - - - - - - - - - - - diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/XAMLBehaviorsSampleCpp.vcxproj b/samples/Cpp/XAMLBehaviorsSampleCpp/XAMLBehaviorsSampleCpp.vcxproj deleted file mode 100644 index 5a30c10b..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/XAMLBehaviorsSampleCpp.vcxproj +++ /dev/null @@ -1,391 +0,0 @@ - - - - {099818b6-eb4b-4a05-9db1-ed5401d283b4} - XAMLBehaviorsSampleCpp - en-US - 14.0 - true - Windows Store - 10.0.19041.0 - 10.0.16299.0 - 10.0 - true - - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - Application - true - v142 - - - Application - true - v142 - - - Application - true - v142 - - - Application - true - v142 - - - Application - false - true - v142 - true - - - Application - false - true - v142 - true - - - Application - false - true - v142 - true - - - Application - false - true - v142 - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XAMLBehaviorsSampleCpp_TemporaryKey.pfx - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - true - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - /bigobj %(AdditionalOptions) - 4453;28204 - - - - - - ContentDialogSample.xaml - - - ControlStoryboardControl.xaml - - - CustomActionControl.xaml - - - CustomBehaviorControl.xaml - - - - EventTriggerControl.xaml - - - GoToStateControl.xaml - - - - IncrementalUpdateControl.xaml - - - InvokeCommandControl.xaml - - - NavigatePageSample.xaml - - - NavigateToPageControl.xaml - - - - App.xaml - - - MainPage.xaml - - - PlaySoundControl.xaml - - - - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - true - - - - - Designer - - - - - - - - - - - - - - - App.xaml - - - - ContentDialogSample.xaml - - - ControlStoryboardControl.xaml - - - CustomActionControl.xaml - - - CustomBehaviorControl.xaml - - - - EventTriggerControl.xaml - - - GoToStateControl.xaml - - - - IncrementalUpdateControl.xaml - - - InvokeCommandControl.xaml - - - MainPage.xaml - - - NavigatePageSample.xaml - - - NavigateToPageControl.xaml - - - Create - Create - Create - Create - Create - Create - Create - Create - - - PlaySoundControl.xaml - - - - - - - - - - - - - - ..\..\..\out\BehaviorsSDKNative\bin\$(Platform)\$(Configuration)\Microsoft.Xaml.Interactions\Microsoft.Xaml.Interactions.winmd - true - - - ..\..\..\out\BehaviorsSDKNative\bin\$(Platform)\$(Configuration)\Microsoft.Xaml.Interactivity\Microsoft.Xaml.Interactivity.winmd - true - - - - - \ No newline at end of file diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/pch.cpp b/samples/Cpp/XAMLBehaviorsSampleCpp/pch.cpp deleted file mode 100644 index 01484ff5..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/pch.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// -// pch.cpp -// Include the standard header and generate the precompiled header. -// - -#include "pch.h" diff --git a/samples/Cpp/XAMLBehaviorsSampleCpp/pch.h b/samples/Cpp/XAMLBehaviorsSampleCpp/pch.h deleted file mode 100644 index 2c4354dd..00000000 --- a/samples/Cpp/XAMLBehaviorsSampleCpp/pch.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// pch.h -// Header for standard system include files. -// - -#pragma once - -#include -#include - -#include "App.xaml.h" diff --git a/src/BehaviorsSDKNative/BehaviorsSDKNative.sln b/src/BehaviorsSDKNative/BehaviorsSDKNative.sln deleted file mode 100644 index 8392250f..00000000 --- a/src/BehaviorsSDKNative/BehaviorsSDKNative.sln +++ /dev/null @@ -1,192 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29806.167 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.Xaml.Interactivity", "Microsoft.Xaml.Interactivity\Microsoft.Xaml.Interactivity.vcxproj", "{721B956C-043C-4658-8AA7-D72FD5F112BF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.Xaml.Interactions", "Microsoft.Xaml.Interactions\Microsoft.Xaml.Interactions.vcxproj", "{EAF5DE54-6367-456A-8012-76775F514C5E}" - ProjectSection(ProjectDependencies) = postProject - {721B956C-043C-4658-8AA7-D72FD5F112BF} = {721B956C-043C-4658-8AA7-D72FD5F112BF} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Xaml.Interactions.Design", "Microsoft.Xaml.Interactions.Design\Microsoft.Xaml.Interactions.Design.csproj", "{A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Xaml.Interactivity.Design", "Microsoft.Xaml.Interactivity.Design\Microsoft.Xaml.Interactivity.Design.csproj", "{76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NativeUnitTests", "NativeUnitTests\NativeUnitTests.csproj", "{D8F350B3-B5FB-4CED-AF8B-595EBFE16461}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Xaml.Interactions.DesignTools", "Microsoft.Xaml.Interactions.DesignTools\Microsoft.Xaml.Interactions.DesignTools.csproj", "{C19EE6E7-244F-4E2F-B55B-91E5C266FC38}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Xaml.Interactivity.DesignTools", "Microsoft.Xaml.Interactivity.DesignTools\Microsoft.Xaml.Interactivity.DesignTools.csproj", "{F6591D97-2201-4F7A-BAB6-D43D409EF5EA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BF5015F9-3D12-45ED-95AF-73088777874D}" - ProjectSection(SolutionItems) = preProject - ..\..\scripts\Microsoft.Xaml.Behaviors.Signing.targets = ..\..\scripts\Microsoft.Xaml.Behaviors.Signing.targets - ..\..\scripts\Microsoft.Xaml.Behaviors.Uwp.Native.nuspec = ..\..\scripts\Microsoft.Xaml.Behaviors.Uwp.Native.nuspec - ..\..\scripts\Microsoft.Xaml.Behaviors.Uwp.Native.targets = ..\..\scripts\Microsoft.Xaml.Behaviors.Uwp.Native.targets - Version\NuGetPackageVersion.props = Version\NuGetPackageVersion.props - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|ARM = Debug|ARM - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|ARM = Release|ARM - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|Any CPU.Build.0 = Debug|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|ARM.ActiveCfg = Debug|ARM - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|ARM.Build.0 = Debug|ARM - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|ARM64.Build.0 = Debug|ARM64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|x64.ActiveCfg = Debug|x64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|x64.Build.0 = Debug|x64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|x86.ActiveCfg = Debug|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Debug|x86.Build.0 = Debug|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|Any CPU.ActiveCfg = Release|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|Any CPU.Build.0 = Release|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|ARM.ActiveCfg = Release|ARM - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|ARM.Build.0 = Release|ARM - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|ARM64.ActiveCfg = Release|ARM64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|ARM64.Build.0 = Release|ARM64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|x64.ActiveCfg = Release|x64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|x64.Build.0 = Release|x64 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|x86.ActiveCfg = Release|Win32 - {721B956C-043C-4658-8AA7-D72FD5F112BF}.Release|x86.Build.0 = Release|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|Any CPU.Build.0 = Debug|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|ARM.ActiveCfg = Debug|ARM - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|ARM.Build.0 = Debug|ARM - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|ARM64.Build.0 = Debug|ARM64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|x64.ActiveCfg = Debug|x64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|x64.Build.0 = Debug|x64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|x86.ActiveCfg = Debug|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Debug|x86.Build.0 = Debug|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|Any CPU.ActiveCfg = Release|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|Any CPU.Build.0 = Release|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|ARM.ActiveCfg = Release|ARM - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|ARM.Build.0 = Release|ARM - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|ARM64.ActiveCfg = Release|ARM64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|ARM64.Build.0 = Release|ARM64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|x64.ActiveCfg = Release|x64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|x64.Build.0 = Release|x64 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|x86.ActiveCfg = Release|Win32 - {EAF5DE54-6367-456A-8012-76775F514C5E}.Release|x86.Build.0 = Release|Win32 - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|ARM.Build.0 = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|ARM64.Build.0 = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|x64.ActiveCfg = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|x64.Build.0 = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|x86.ActiveCfg = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Debug|x86.Build.0 = Debug|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|Any CPU.Build.0 = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|ARM.ActiveCfg = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|ARM.Build.0 = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|ARM64.ActiveCfg = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|ARM64.Build.0 = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|x64.ActiveCfg = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|x64.Build.0 = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|x86.ActiveCfg = Release|Any CPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1}.Release|x86.Build.0 = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|Any CPU.Build.0 = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|ARM.ActiveCfg = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|ARM.Build.0 = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|ARM64.Build.0 = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|x64.ActiveCfg = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|x64.Build.0 = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|x86.ActiveCfg = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Debug|x86.Build.0 = Debug|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|Any CPU.ActiveCfg = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|Any CPU.Build.0 = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|ARM.ActiveCfg = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|ARM.Build.0 = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|ARM64.ActiveCfg = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|ARM64.Build.0 = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|x64.ActiveCfg = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|x64.Build.0 = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|x86.ActiveCfg = Release|Any CPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78}.Release|x86.Build.0 = Release|Any CPU - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|Any CPU.ActiveCfg = Debug|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|Any CPU.Build.0 = Debug|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|Any CPU.Deploy.0 = Debug|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|ARM.ActiveCfg = Debug|ARM - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|ARM.Build.0 = Debug|ARM - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|ARM.Deploy.0 = Debug|ARM - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|ARM64.Build.0 = Debug|ARM64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|x64.ActiveCfg = Debug|x64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|x64.Build.0 = Debug|x64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|x64.Deploy.0 = Debug|x64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|x86.ActiveCfg = Debug|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|x86.Build.0 = Debug|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Debug|x86.Deploy.0 = Debug|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Release|Any CPU.ActiveCfg = Release|x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Release|ARM.ActiveCfg = Release|ARM - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Release|ARM64.ActiveCfg = Release|ARM64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Release|x64.ActiveCfg = Release|x64 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461}.Release|x86.ActiveCfg = Release|x86 - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|ARM.ActiveCfg = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|ARM.Build.0 = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|ARM64.Build.0 = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|x64.ActiveCfg = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|x64.Build.0 = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|x86.ActiveCfg = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Debug|x86.Build.0 = Debug|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|Any CPU.Build.0 = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|ARM.ActiveCfg = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|ARM.Build.0 = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|ARM64.ActiveCfg = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|ARM64.Build.0 = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|x64.ActiveCfg = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|x64.Build.0 = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|x86.ActiveCfg = Release|Any CPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38}.Release|x86.Build.0 = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|ARM.ActiveCfg = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|ARM.Build.0 = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|ARM64.Build.0 = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|x64.ActiveCfg = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|x64.Build.0 = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|x86.ActiveCfg = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Debug|x86.Build.0 = Debug|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|Any CPU.Build.0 = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|ARM.ActiveCfg = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|ARM.Build.0 = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|ARM64.ActiveCfg = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|ARM64.Build.0 = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|x64.ActiveCfg = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|x64.Build.0 = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|x86.ActiveCfg = Release|Any CPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {73C7291E-7794-492A-861A-81A6C432483D} - EndGlobalSection -EndGlobal diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.DesignerIsolation.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.DesignerIsolation.cs deleted file mode 100644 index 1e7375ec..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.DesignerIsolation.cs +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using Microsoft.Xaml.Interactions.Core; -using Microsoft.Xaml.Interactions.Media; - -namespace Microsoft.Xaml.Interactions.Design -{ - partial class MetadataTableProvider - { - private void AddAttribute(Type type, Attribute attribute) - { - attributeTableBuilder.AddCustomAttributes(type, attribute); - } - - private void AddAttributes(Type type, params Attribute[] attributes) - { - foreach (Attribute attribute in attributes) - { - AddAttribute(type, attribute); - } - } - - private void AddAttribute(Type type, string propertyName, Attribute attribute) - { - attributeTableBuilder.AddCustomAttributes(type, propertyName, attribute); - } - - private void AddAttributes(Type type, string propertyName, params Attribute[] attributes) - { - foreach (Attribute attribute in attributes) - { - AddAttribute(type, propertyName, attribute); - } - } - - /// - /// This class contains the types used by the older Extensibility APIs. - /// - private static class Targets - { - internal static readonly Type IncrementalUpdateBehavior = typeof(IncrementalUpdateBehavior); - internal static readonly Type EventTriggerBehavior = typeof(EventTriggerBehavior); - //internal static readonly Type DataTriggerBehavior = typeof(DataTriggerBehavior); - //internal static readonly Type ChangePropertyAction = typeof(ChangePropertyAction); - internal static readonly Type InvokeCommandAction = typeof(InvokeCommandAction); - internal static readonly Type ControlStoryboardAction = typeof(ControlStoryboardAction); - internal static readonly Type GoToStateAction = typeof(GoToStateAction); - internal static readonly Type NavigateToPageAction = typeof(NavigateToPageAction); - internal static readonly Type PlaySoundAction = typeof(PlaySoundAction); - //internal static readonly Type CallMethodAction = typeof(CallMethodAction); - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.cs deleted file mode 100644 index 13785298..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/MetadataTableProvider.cs +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.ComponentModel; - -#if SurfaceIsolation -using Microsoft.VisualStudio.DesignTools.Extensibility.Metadata; -using Microsoft.VisualStudio.DesignTools.Extensibility.PropertyEditing; -using Editors = Microsoft.VisualStudio.DesignTools.Extensibility.PropertyEditing.Editors; -using Microsoft.Xaml.Interactions.Design.Properties; -#else -using System; -using Microsoft.Windows.Design.Metadata; -using Microsoft.Windows.Design.PropertyEditing; -using Editors = Microsoft.Windows.Design.PropertyEditing.Editors; -using Microsoft.Xaml.Interactions.Design.Properties; -#endif - -[assembly: ProvideMetadata(typeof(Microsoft.Xaml.Interactions.Design.MetadataTableProvider))] - -// Please note that both the .Design and .DesignTools project -// use the same namespace: Microsoft.Xaml.Interactions.Design -namespace Microsoft.Xaml.Interactions.Design -{ - partial class MetadataTableProvider : IProvideAttributeTable - { - AttributeTableBuilder attributeTableBuilder; - - public AttributeTable AttributeTable - { - get - { - if (attributeTableBuilder == null) - { - attributeTableBuilder = new AttributeTableBuilder(); - } - -#region IncrementalUpdateBehavior - AddAttributes(Targets.IncrementalUpdateBehavior, new DescriptionAttribute(Resources.Description_IncrementalUpdateBehavior)); - - AddAttributes(Targets.IncrementalUpdateBehavior, - "Phase", - new DescriptionAttribute(Resources.Description_IncrementalUpdateBehavior_Phase), - new CategoryAttribute(Resources.Category_Common_Properties)); -#endregion - -#region EventTriggerBehavior - AddAttributes(Targets.EventTriggerBehavior, new DescriptionAttribute(Resources.Description_EventTriggerBehavior)); - - AddAttributes(Targets.EventTriggerBehavior, - "EventName", - new DescriptionAttribute(Resources.Description_EventTriggerBehavior_EventName), - CreateEditorAttribute(), - new CategoryAttribute(Resources.Category_Common_Properties) - ); - - AddAttributes(Targets.EventTriggerBehavior, - "SourceObject", - new DescriptionAttribute(Resources.Description_EventTriggerBehavior_SourceObject), - CreateEditorAttribute(), - new CategoryAttribute(Resources.Category_Common_Properties)); - - AddAttributes(Targets.EventTriggerBehavior, - "Actions", - new DescriptionAttribute(Resources.Description_EventTriggerBehavior_Actions)); -#endregion - -#region InvokeCommandAction - AddAttributes(Targets.InvokeCommandAction, - new DescriptionAttribute(Resources.Description_InvokeCommandAction), - new DefaultBindingPropertyAttribute("Command")); - - AddAttributes(Targets.InvokeCommandAction, - "Command", - new CategoryAttribute(Resources.Category_Common_Properties), - CreateEditorAttribute(), - new DescriptionAttribute(Resources.Description_InvokeCommandAction_Command)); - - AddAttributes(Targets.InvokeCommandAction, - "CommandParameter", - new TypeConverterAttribute(typeof(StringConverter)), - new CategoryAttribute(Resources.Category_Common_Properties), - new DescriptionAttribute(Resources.Description_InvokeCommandAction_CommandParameter), - new EditorBrowsableAttribute(EditorBrowsableState.Advanced)); - - AddAttributes(Targets.InvokeCommandAction, - "InputConverter", - new CategoryAttribute(Resources.Category_Common_Properties), - new DescriptionAttribute(Resources.Description_InvokeCommandAction_InputConverter), - new EditorBrowsableAttribute(EditorBrowsableState.Advanced)); - - AddAttributes(Targets.InvokeCommandAction, - "InputConverterParameter", - new TypeConverterAttribute(typeof(StringConverter)), - new CategoryAttribute(Resources.Category_Common_Properties), - new DescriptionAttribute(Resources.Description_InvokeCommandAction_InputConverterParameter), - new EditorBrowsableAttribute(EditorBrowsableState.Advanced)); - - AddAttributes(Targets.InvokeCommandAction, - "InputConverterLanguage", - new CategoryAttribute(Resources.Category_Common_Properties), - new DescriptionAttribute(Resources.Description_InvokeCommandAction_InputConverterLanguage), - new TypeConverterAttribute(typeof(CultureInfoNamesConverter)), - new EditorBrowsableAttribute(EditorBrowsableState.Advanced)); -#endregion - -#region ControlStoryboardAction - AddAttributes(Targets.ControlStoryboardAction, - new DescriptionAttribute(Resources.Description_ControlStoryboardAction) - ); - - AddAttributes(Targets.ControlStoryboardAction, - "ControlStoryboardOption", - new DescriptionAttribute(Resources.Description_ControlStoryboardAction_ControlStoryboardOption), - new CategoryAttribute(Resources.Category_Common_Properties)); - - AddAttributes(Targets.ControlStoryboardAction, - "Storyboard", - new DescriptionAttribute(Resources.Description_ControlStoryboardAction_Storyboard), - new CategoryAttribute(Resources.Category_Common_Properties), - CreateEditorAttribute(), - new TypeConverterAttribute(typeof(TypeConverter))); -#endregion - -#region GotoStateAction - AddAttributes(Targets.GoToStateAction, new DescriptionAttribute(Resources.Description_GoToStateAction)); - - AddAttributes(Targets.GoToStateAction, - "StateName", - CreateEditorAttribute(), - new DescriptionAttribute(Resources.Description_GoToStateAction_StateName), - new CategoryAttribute(Resources.Category_Common_Properties)); - - AddAttributes(Targets.GoToStateAction, - "UseTransitions", - new DescriptionAttribute(Resources.Description_GoToStateAction_UseTransitions), - new CategoryAttribute(Resources.Category_Common_Properties)); - - AddAttributes(Targets.GoToStateAction, - "TargetObject", - new CategoryAttribute(Resources.Category_Common_Properties), - new DescriptionAttribute(Resources.Description_GoToStateAction_TargetObject), - CreateEditorAttribute()); -#endregion - -#region NavigateToPageAction - AddAttributes(Targets.NavigateToPageAction, new DescriptionAttribute(Resources.Description_NavigateToPageAction)); - - AddAttributes(Targets.NavigateToPageAction, - "TargetPage", - CreateEditorAttribute(), - new DescriptionAttribute(Resources.Description_NavigateToPageAction_TargetPage), - new CategoryAttribute(Resources.Category_Common_Properties)); - - AddAttributes(Targets.NavigateToPageAction, - "Parameter", - new DescriptionAttribute(Resources.Description_NavigateToPageAction_Parameter), - new CategoryAttribute(Resources.Category_Common_Properties), - new TypeConverterAttribute(typeof(StringConverter))); -#endregion - -#region PlaySoundAction - AddAttributes(Targets.PlaySoundAction, new DescriptionAttribute(Resources.Description_PlaySoundAction)); - - AddAttributes(Targets.PlaySoundAction, "Source", - CreateEditorAttribute(), - new DescriptionAttribute(Resources.Description_PlaySoundAction_Source), - new CategoryAttribute(Resources.Category_Common_Properties)); - - AddAttributes(Targets.PlaySoundAction, - "Volume", - new NumberRangesAttribute(0, 0, 1, 1, false), - new NumberIncrementsAttribute(0.001, 0.01, 0.1), - new DescriptionAttribute(Resources.Description_PlaySoundAction_Volume), - new CategoryAttribute(Resources.Category_Common_Properties)); -#endregion - - return attributeTableBuilder.CreateTable(); - } - } - - private static EditorAttribute CreateEditorAttribute() where T : PropertyValueEditor - { - return PropertyValueEditor.CreateEditorAttribute(typeof(T)); - } - } -} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj deleted file mode 100644 index 7f9f4eab..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj +++ /dev/null @@ -1,146 +0,0 @@ - - - - - Debug - AnyCPU - {A3161818-5AA8-4A7C-A6CD-B19EDA5F3AE1} - library - Properties - Microsoft.Xaml.Interactions.Design - Microsoft.Xaml.Interactions.Design - v4.7.2 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - 10.0 - - - - true - full - false - DEBUG;TRACE - prompt - 4 - x86 - - - pdbonly - true - TRACE - prompt - 4 - x86 - - - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - 4.0 - - - - - - - - $(ProgramFiles)\Windows Kits\10\References\Windows.Foundation.FoundationContract\1.0.0.0\Windows.Foundation.FoundationContract.winmd - WindowsRuntime - False - - - $(ProgramFiles)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\1.0.0.0\Windows.Foundation.UniversalApiContract.winmd - WindowsRuntime - False - - - False - $(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.InteropServices.WindowsRuntime.dll - WindowsRuntime - False - - - False - $(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll - WindowsRuntime - False - - - False - $(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.UI.Xaml.dll - WindowsRuntime - False - - - - - - - Code - - - Code - - - True - True - Resources.resx - - - True - Settings.settings - True - - - ResXFileCodeGenerator - Resources.Designer.cs - Microsoft.Xaml.Interactions.Design.Properties - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - {eaf5de54-6367-456a-8012-76775f514c5e} - Microsoft.Xaml.Interactions - - - - - 1.0.0 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - Microsoft.Xaml.Behaviors.Uwp.Native - Microsoft.Xaml.Behaviors.Uwp.Native - Microsoft - © Microsoft Corporation. All rights reserved. - Behavior Action Behaviors Actions Blend Native C++ Interaction Interactivity Interactions - http://go.microsoft.com/fwlink/?LinkID=708401 - http://go.microsoft.com/fwlink/?LinkID=651678 - http://go.microsoft.com/fwlink/?LinkID=708511 - ..\..\..\scripts - ..\..\..\scripts\Microsoft.Xaml.Behaviors.Uwp.Native.nuspec - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/AssemblyInfo.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/AssemblyInfo.cs deleted file mode 100644 index 42b2199a..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using System.Windows; -using Microsoft.Windows.Design.Metadata; -using Microsoft.Xaml.Interactivity.Design; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Microsoft.Xaml.Interactivity.Design")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Microsoft.Xaml.Interactivity.Design")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2015-2022")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -//In order to begin building localizable applications, set -//CultureYouAreCodingWith in your .csproj file -//inside a . For example, if you are using US english -//in your source files, set the to en-US. Then uncomment -//the NeutralResourceLanguage attribute below. Update the "en-US" in -//the line below to match the UICulture setting in the project file. - -//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] - - -[assembly:ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/DesignTools.Resources.Designer.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/DesignTools.Resources.Designer.cs deleted file mode 100644 index b3054726..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/DesignTools.Resources.Designer.cs +++ /dev/null @@ -1,405 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Xaml.Interactions.Design.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Xaml.Interactions.DesignTools.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Common. - /// - internal static string Category_Common_Properties { - get { - return ResourceManager.GetString("Category_Common_Properties", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Calls a method on a specified object when invoked.. - /// - internal static string Description_CallMethodAction { - get { - return ResourceManager.GetString("Description_CallMethodAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Get or sets the name of the method to invoke.. - /// - internal static string Description_CallMethodAction_MethodName { - get { - return ResourceManager.GetString("Description_CallMethodAction_MethodName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the object that exposes the method.. - /// - internal static string Description_CallMethodAction_TargetObject { - get { - return ResourceManager.GetString("Description_CallMethodAction_TargetObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will change a specified property to a specified value when invoked.. - /// - internal static string Description_ChangePropertyAction { - get { - return ResourceManager.GetString("Description_ChangePropertyAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the name of the property to change.. - /// - internal static string Description_ChangePropertyAction_PropertyName { - get { - return ResourceManager.GetString("Description_ChangePropertyAction_PropertyName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the object whose property will be changed.. - /// - internal static string Description_ChangePropertyAction_TargetObject { - get { - return ResourceManager.GetString("Description_ChangePropertyAction_TargetObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the value to set.. - /// - internal static string Description_ChangePropertyAction_Value { - get { - return ResourceManager.GetString("Description_ChangePropertyAction_Value", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will change the state of the specified Storyboard when executed.. - /// - internal static string Description_ControlStoryboardAction { - get { - return ResourceManager.GetString("Description_ControlStoryboardAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the action to execute on the Storyboard.. - /// - internal static string Description_ControlStoryboardAction_ControlStoryboardOption { - get { - return ResourceManager.GetString("Description_ControlStoryboardAction_ControlStoryboardOption", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the targeted Storyboard.. - /// - internal static string Description_ControlStoryboardAction_Storyboard { - get { - return ResourceManager.GetString("Description_ControlStoryboardAction_Storyboard", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A behavior that performs actions when the bound data meets a specified condition.. - /// - internal static string Description_DataTriggerBehavior { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the collection of actions associated with the behavior.. - /// - internal static string Description_DataTriggerBehavior_Actions { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_Actions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the bound object that the DataTriggerBehavior will listen to.. - /// - internal static string Description_DataTriggerBehavior_Binding { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_Binding", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the type of comparison to be performed between Binding and Value.. - /// - internal static string Description_DataTriggerBehavior_ComparisonCondition { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_ComparisonCondition", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the value to be compared with the value of Binding.. - /// - internal static string Description_DataTriggerBehavior_Value { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_Value", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A behavior that listens for a specified event on its source and executes its actions when that event is fired.. - /// - internal static string Description_EventTriggerBehavior { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the collection of actions associated with the behavior.. - /// - internal static string Description_EventTriggerBehavior_Actions { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior_Actions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the name of the event to listen for.. - /// - internal static string Description_EventTriggerBehavior_EventName { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior_EventName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the source object from which this behavior listens for events. If SourceObject is not set, the source will default to AssociatedObject.. - /// - internal static string Description_EventTriggerBehavior_SourceObject { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior_SourceObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will transition a FrameworkElement to a specified VisualState when executed.. - /// - internal static string Description_GoToStateAction { - get { - return ResourceManager.GetString("Description_GoToStateAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the name of the VisualState.. - /// - internal static string Description_GoToStateAction_StateName { - get { - return ResourceManager.GetString("Description_GoToStateAction_StateName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the target object.. - /// - internal static string Description_GoToStateAction_TargetObject { - get { - return ResourceManager.GetString("Description_GoToStateAction_TargetObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets whether or not to use a VisualTransition to transition between states.. - /// - internal static string Description_GoToStateAction_UseTransitions { - get { - return ResourceManager.GetString("Description_GoToStateAction_UseTransitions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A behavior that allows incremental updating of ListView and GridView contents to support faster updating. By attaching this behavior to elements in the ItemTemplate used by these views, some of the updates can be deferred until there is render time available, resulting in a smoother experience.. - /// - internal static string Description_IncrementalUpdateBehavior { - get { - return ResourceManager.GetString("Description_IncrementalUpdateBehavior", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the relative priority of this incremental update. Lower Phase values are addressed first.. - /// - internal static string Description_IncrementalUpdateBehavior_Phase { - get { - return ResourceManager.GetString("Description_IncrementalUpdateBehavior_Phase", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Executes a specified ICommand when invoked.. - /// - internal static string Description_InvokeCommandAction { - get { - return ResourceManager.GetString("Description_InvokeCommandAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the command the action should invoke.. - /// - internal static string Description_InvokeCommandAction_Command { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_Command", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the parameter that is passed to ICommand.Execute. If this is not set, the parameter from the InvokeCommandAction.Execute method will be used.. - /// - internal static string Description_InvokeCommandAction_CommandParameter { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_CommandParameter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the converter that is run on the parameter of the InvokeCommandAction.Execute method.. - /// - internal static string Description_InvokeCommandAction_InputConverter { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_InputConverter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the language that is passed to the IValueConverter.Convert method of InputConverter.. - /// - internal static string Description_InvokeCommandAction_InputConverterLanguage { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_InputConverterLanguage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the parameter that is passed to the IValueConverter.Convert method of InputConverter.. - /// - internal static string Description_InvokeCommandAction_InputConverterParameter { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_InputConverterParameter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that switches the current visual to the specified Page.. - /// - internal static string Description_NavigateToPageAction { - get { - return ResourceManager.GetString("Description_NavigateToPageAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the parameter that will be passed to the Frame.Navigate method.. - /// - internal static string Description_NavigateToPageAction_Parameter { - get { - return ResourceManager.GetString("Description_NavigateToPageAction_Parameter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the fully qualified name of the Page to navigate to.. - /// - internal static string Description_NavigateToPageAction_TargetPage { - get { - return ResourceManager.GetString("Description_NavigateToPageAction_TargetPage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will play a sound to completion.. - /// - internal static string Description_PlaySoundAction { - get { - return ResourceManager.GetString("Description_PlaySoundAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the location of the sound file.. - /// - internal static string Description_PlaySoundAction_Source { - get { - return ResourceManager.GetString("Description_PlaySoundAction_Source", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or set the volume of the sound.. - /// - internal static string Description_PlaySoundAction_Volume { - get { - return ResourceManager.GetString("Description_PlaySoundAction_Volume", resourceCulture); - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.Designer.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.Designer.cs deleted file mode 100644 index 14254f25..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.Designer.cs +++ /dev/null @@ -1,405 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Xaml.Interactions.Design.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Xaml.Interactions.Design.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Common. - /// - internal static string Category_Common_Properties { - get { - return ResourceManager.GetString("Category_Common_Properties", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Calls a method on a specified object when invoked.. - /// - internal static string Description_CallMethodAction { - get { - return ResourceManager.GetString("Description_CallMethodAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Get or sets the name of the method to invoke.. - /// - internal static string Description_CallMethodAction_MethodName { - get { - return ResourceManager.GetString("Description_CallMethodAction_MethodName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the object that exposes the method.. - /// - internal static string Description_CallMethodAction_TargetObject { - get { - return ResourceManager.GetString("Description_CallMethodAction_TargetObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will change a specified property to a specified value when invoked.. - /// - internal static string Description_ChangePropertyAction { - get { - return ResourceManager.GetString("Description_ChangePropertyAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the name of the property to change.. - /// - internal static string Description_ChangePropertyAction_PropertyName { - get { - return ResourceManager.GetString("Description_ChangePropertyAction_PropertyName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the object whose property will be changed.. - /// - internal static string Description_ChangePropertyAction_TargetObject { - get { - return ResourceManager.GetString("Description_ChangePropertyAction_TargetObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the value to set.. - /// - internal static string Description_ChangePropertyAction_Value { - get { - return ResourceManager.GetString("Description_ChangePropertyAction_Value", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will change the state of the specified Storyboard when executed.. - /// - internal static string Description_ControlStoryboardAction { - get { - return ResourceManager.GetString("Description_ControlStoryboardAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the action to execute on the Storyboard.. - /// - internal static string Description_ControlStoryboardAction_ControlStoryboardOption { - get { - return ResourceManager.GetString("Description_ControlStoryboardAction_ControlStoryboardOption", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the targeted Storyboard.. - /// - internal static string Description_ControlStoryboardAction_Storyboard { - get { - return ResourceManager.GetString("Description_ControlStoryboardAction_Storyboard", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A behavior that performs actions when the bound data meets a specified condition.. - /// - internal static string Description_DataTriggerBehavior { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the collection of actions associated with the behavior.. - /// - internal static string Description_DataTriggerBehavior_Actions { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_Actions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the bound object that the DataTriggerBehavior will listen to.. - /// - internal static string Description_DataTriggerBehavior_Binding { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_Binding", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the type of comparison to be performed between Binding and Value.. - /// - internal static string Description_DataTriggerBehavior_ComparisonCondition { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_ComparisonCondition", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the value to be compared with the value of Binding.. - /// - internal static string Description_DataTriggerBehavior_Value { - get { - return ResourceManager.GetString("Description_DataTriggerBehavior_Value", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A behavior that listens for a specified event on its source and executes its actions when that event is fired.. - /// - internal static string Description_EventTriggerBehavior { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the collection of actions associated with the behavior.. - /// - internal static string Description_EventTriggerBehavior_Actions { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior_Actions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the name of the event to listen for.. - /// - internal static string Description_EventTriggerBehavior_EventName { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior_EventName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the source object from which this behavior listens for events. If SourceObject is not set, the source will default to AssociatedObject.. - /// - internal static string Description_EventTriggerBehavior_SourceObject { - get { - return ResourceManager.GetString("Description_EventTriggerBehavior_SourceObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will transition a FrameworkElement to a specified VisualState when executed.. - /// - internal static string Description_GoToStateAction { - get { - return ResourceManager.GetString("Description_GoToStateAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the name of the VisualState.. - /// - internal static string Description_GoToStateAction_StateName { - get { - return ResourceManager.GetString("Description_GoToStateAction_StateName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the target object.. - /// - internal static string Description_GoToStateAction_TargetObject { - get { - return ResourceManager.GetString("Description_GoToStateAction_TargetObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets whether or not to use a VisualTransition to transition between states.. - /// - internal static string Description_GoToStateAction_UseTransitions { - get { - return ResourceManager.GetString("Description_GoToStateAction_UseTransitions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A behavior that allows incremental updating of ListView and GridView contents to support faster updating. By attaching this behavior to elements in the ItemTemplate used by these views, some of the updates can be deferred until there is render time available, resulting in a smoother experience.. - /// - internal static string Description_IncrementalUpdateBehavior { - get { - return ResourceManager.GetString("Description_IncrementalUpdateBehavior", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the relative priority of this incremental update. Lower Phase values are addressed first.. - /// - internal static string Description_IncrementalUpdateBehavior_Phase { - get { - return ResourceManager.GetString("Description_IncrementalUpdateBehavior_Phase", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Executes a specified ICommand when invoked.. - /// - internal static string Description_InvokeCommandAction { - get { - return ResourceManager.GetString("Description_InvokeCommandAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the command the action should invoke.. - /// - internal static string Description_InvokeCommandAction_Command { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_Command", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the parameter that is passed to ICommand.Execute. If this is not set, the parameter from the InvokeCommandAction.Execute method will be used.. - /// - internal static string Description_InvokeCommandAction_CommandParameter { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_CommandParameter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the converter that is run on the parameter of the InvokeCommandAction.Execute method.. - /// - internal static string Description_InvokeCommandAction_InputConverter { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_InputConverter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the language that is passed to the IValueConverter.Convert method of InputConverter.. - /// - internal static string Description_InvokeCommandAction_InputConverterLanguage { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_InputConverterLanguage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the parameter that is passed to the IValueConverter.Convert method of InputConverter.. - /// - internal static string Description_InvokeCommandAction_InputConverterParameter { - get { - return ResourceManager.GetString("Description_InvokeCommandAction_InputConverterParameter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that switches the current visual to the specified Page.. - /// - internal static string Description_NavigateToPageAction { - get { - return ResourceManager.GetString("Description_NavigateToPageAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the parameter that will be passed to the Frame.Navigate method.. - /// - internal static string Description_NavigateToPageAction_Parameter { - get { - return ResourceManager.GetString("Description_NavigateToPageAction_Parameter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the fully qualified name of the Page to navigate to.. - /// - internal static string Description_NavigateToPageAction_TargetPage { - get { - return ResourceManager.GetString("Description_NavigateToPageAction_TargetPage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to An action that will play a sound to completion.. - /// - internal static string Description_PlaySoundAction { - get { - return ResourceManager.GetString("Description_PlaySoundAction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or sets the location of the sound file.. - /// - internal static string Description_PlaySoundAction_Source { - get { - return ResourceManager.GetString("Description_PlaySoundAction_Source", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Gets or set the volume of the sound.. - /// - internal static string Description_PlaySoundAction_Volume { - get { - return ResourceManager.GetString("Description_PlaySoundAction_Volume", resourceCulture); - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.resx b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.resx deleted file mode 100644 index 5bb5292e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Resources.resx +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Common - - - Calls a method on a specified object when invoked. - - - Get or sets the name of the method to invoke. - - - Gets or sets the object that exposes the method. - - - An action that will change a specified property to a specified value when invoked. - - - Gets or sets the name of the property to change. - - - Gets or sets the object whose property will be changed. - - - Gets or sets the value to set. - - - An action that will change the state of the specified Storyboard when executed. - - - Gets or sets the action to execute on the Storyboard. - - - Gets or sets the targeted Storyboard. - - - A behavior that performs actions when the bound data meets a specified condition. - - - Gets or sets the collection of actions associated with the behavior. - - - Gets or sets the bound object that the DataTriggerBehavior will listen to. - - - Gets or sets the type of comparison to be performed between Binding and Value. - - - Gets or sets the value to be compared with the value of Binding. - - - A behavior that listens for a specified event on its source and executes its actions when that event is fired. - - - Gets or sets the collection of actions associated with the behavior. - - - Gets or sets the name of the event to listen for. - - - Gets or sets the source object from which this behavior listens for events. If SourceObject is not set, the source will default to AssociatedObject. - - - An action that will transition a FrameworkElement to a specified VisualState when executed. - - - Gets or sets the name of the VisualState. - - - Gets or sets the target object. - - - Gets or sets whether or not to use a VisualTransition to transition between states. - - - A behavior that allows incremental updating of ListView and GridView contents to support faster updating. By attaching this behavior to elements in the ItemTemplate used by these views, some of the updates can be deferred until there is render time available, resulting in a smoother experience. - - - Gets or sets the relative priority of this incremental update. Lower Phase values are addressed first. - - - Executes a specified ICommand when invoked. - - - Gets or sets the command the action should invoke. - - - Gets or sets the parameter that is passed to ICommand.Execute. If this is not set, the parameter from the InvokeCommandAction.Execute method will be used. - - - Gets or sets the converter that is run on the parameter of the InvokeCommandAction.Execute method. - - - Gets or sets the language that is passed to the IValueConverter.Convert method of InputConverter. - - - Gets or sets the parameter that is passed to the IValueConverter.Convert method of InputConverter. - - - An action that switches the current visual to the specified Page. - - - Gets or sets the parameter that will be passed to the Frame.Navigate method. - - - Gets or sets the fully qualified name of the Page to navigate to. - - - An action that will play a sound to completion. - - - Gets or sets the location of the sound file. - - - Gets or set the volume of the sound. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.Designer.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.Designer.cs deleted file mode 100644 index b51af54e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Xaml.Interactivity.Design.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.settings b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.settings deleted file mode 100644 index 033d7a5e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/MetadataTableProvider.SurfaceIsolation.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/MetadataTableProvider.SurfaceIsolation.cs deleted file mode 100644 index 6eacb421..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/MetadataTableProvider.SurfaceIsolation.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; - -namespace Microsoft.Xaml.Interactions.Design -{ - partial class MetadataTableProvider - { - private void AddAttributes(string typeIdentifier, params Attribute[] attributes) - { - attributeTableBuilder.AddCustomAttributes(typeIdentifier, attributes); - } - - private void AddAttributes(string typeIdentifier, string propertyName, params Attribute[] attributes) - { - attributeTableBuilder.AddCustomAttributes(typeIdentifier, propertyName, attributes); - } - - /// - /// This class contains the type names required by the new Extensibility APIs. - /// - private static class Targets - { - private const string coreNS = "Microsoft.Xaml.Interactions.Core."; - private const string mediaNS = "Microsoft.Xaml.Interactions.Media."; - - internal const string CallMethodAction = coreNS + "CallMethodAction"; - internal const string ChangePropertyAction = coreNS + "ChangePropertyAction"; - internal const string ControlStoryboardAction = mediaNS + "ControlStoryboardAction"; - internal const string DataTriggerBehavior = coreNS + "DataTriggerBehavior"; - internal const string IncrementalUpdateBehavior = coreNS + "IncrementalUpdateBehavior"; - internal const string EventTriggerBehavior = coreNS + "EventTriggerBehavior"; - internal const string GoToStateAction = coreNS + "GoToStateAction"; - internal const string InvokeCommandAction = coreNS + "InvokeCommandAction"; - internal const string NavigateToPageAction = coreNS + "NavigateToPageAction"; - internal const string PlaySoundAction = mediaNS + "PlaySoundAction"; - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Microsoft.Xaml.Interactions.DesignTools.csproj b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Microsoft.Xaml.Interactions.DesignTools.csproj deleted file mode 100644 index fd0a5686..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Microsoft.Xaml.Interactions.DesignTools.csproj +++ /dev/null @@ -1,84 +0,0 @@ - - - - - Debug - AnyCPU - {C19EE6E7-244F-4E2F-B55B-91E5C266FC38} - Library - Properties - Microsoft.Xaml.Interactions.DesignTools - Microsoft.Xaml.Interactions.DesignTools - v4.7.2 - 512 - true - - - true - full - false - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - TRACE - prompt - 4 - - - $(DefineConstants);SurfaceIsolation - - - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - MetadataTableProvider.cs - - - Properties\DesignTools.Resources.Designer.cs - True - True - Resources.resx - - - - - - - Properties\Resources.resx - Microsoft.Xaml.Interactions.Design.Properties - ResXFileCodeGenerator - DesignTools.Resources.Designer.cs - - - - - 16.4.29519.181 - - - - - 1.0.0 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Properties/AssemblyInfo.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Properties/AssemblyInfo.cs deleted file mode 100644 index 35cec7ac..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.DesignTools/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("Microsoft.Xaml.Interactions.DesignTools")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Microsoft.Xaml.Interactions.DesignTools")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2015-2022")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.cpp deleted file mode 100644 index 599fe6ec..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.cpp +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -#include "pch.h" -#include "ControlStoryboardAction.h" -#include "ControlStoryboardOption.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Media::Animation; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Media; - -namespace DependencyProperties -{ - static DependencyProperty^ Storyboard = DependencyProperty::Register( - "Storyboard", - Storyboard::typeid, - ControlStoryboardAction::typeid, - ref new PropertyMetadata(nullptr, ref new PropertyChangedCallback(&ControlStoryboardAction::OnStoryboardChanged))); - - static DependencyProperty^ ControlStoryboardOption = DependencyProperty::Register( - "ControlStoryboardOption", - Microsoft::Xaml::Interactions::Media::ControlStoryboardOption::typeid, - ControlStoryboardAction::typeid, - ref new PropertyMetadata(Microsoft::Xaml::Interactions::Media::ControlStoryboardOption::Play)); -} - -void ControlStoryboardAction::OnStoryboardChanged(DependencyObject^ sender, DependencyPropertyChangedEventArgs^ args) -{ - ControlStoryboardAction^ action = dynamic_cast(sender); - if (action != nullptr) - { - action->isPaused = false; - } -} - -DependencyProperty^ ControlStoryboardAction::StoryboardProperty::get() -{ - return DependencyProperties::Storyboard; -} - -DependencyProperty^ ControlStoryboardAction::ControlStoryboardOptionProperty::get() -{ - return DependencyProperties::ControlStoryboardOption; -} - -Object^ ControlStoryboardAction::Execute(Object^ sender, Object^ parameter) -{ - if (this->Storyboard == nullptr) - { - return false; - } - - switch (this->ControlStoryboardOption) - { - case Media::ControlStoryboardOption::Play: - this->Storyboard->Begin(); - break; - - case Media::ControlStoryboardOption::Stop: - this->Storyboard->Stop(); - break; - - case Media::ControlStoryboardOption::TogglePlayPause: - { - ClockState currentState = this->Storyboard->GetCurrentState(); - - if (currentState == ClockState::Stopped) - { - this->isPaused = false; - this->Storyboard->Begin(); - } - else if (this->isPaused) - { - this->isPaused = false; - this->Storyboard->Resume(); - } - else - { - this->isPaused = true; - this->Storyboard->Pause(); - } - } - - break; - - case Media::ControlStoryboardOption::Pause: - this->Storyboard->Pause(); - break; - - case Media::ControlStoryboardOption::Resume: - this->Storyboard->Resume(); - break; - - case Media::ControlStoryboardOption::SkipToFill: - this->Storyboard->SkipToFill(); - break; - - default: - return false; - } - - return true; -} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.h deleted file mode 100644 index 69df196c..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardAction.h +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once -#include "ControlStoryboardOption.h" - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Media -{ - /// - /// An action that will change the state of the specified when executed. - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class ControlStoryboardAction sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IAction - { - private: - bool isPaused; - - internal: - static void OnStoryboardChanged(::Windows::UI::Xaml::DependencyObject^ sender, ::Windows::UI::Xaml::DependencyPropertyChangedEventArgs^ args); - - public: - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ StoryboardProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ ControlStoryboardOptionProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets or sets the targeted . This is a dependency property. - /// - property ::Windows::UI::Xaml::Media::Animation::Storyboard^ Storyboard - { - ::Windows::UI::Xaml::Media::Animation::Storyboard^ get() - { - return safe_cast<::Windows::UI::Xaml::Media::Animation::Storyboard^>(this->GetValue(ControlStoryboardAction::StoryboardProperty)); - } - - void set(::Windows::UI::Xaml::Media::Animation::Storyboard^ value) - { - this->SetValue(ControlStoryboardAction::StoryboardProperty, value); - } - } - - /// - /// Gets or sets the action to execute on the . This is a dependency property. - /// - property Media::ControlStoryboardOption ControlStoryboardOption - { - Media::ControlStoryboardOption get() - { - return static_cast(this->GetValue(ControlStoryboardAction::ControlStoryboardOptionProperty)); - } - - void set(Media::ControlStoryboardOption value) - { - this->SetValue(ControlStoryboardAction::ControlStoryboardOptionProperty, value); - } - } - - /// - /// Executes the action. - /// - /// The that is passed to the action by the behavior. Generally this is or a target object. - /// The value of this parameter is determined by the caller. - /// True if the specified operation is invoked successfully; else false. - virtual ::Platform::Object^ Execute(::Platform::Object^ sender, ::Platform::Object^ parameter); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardOption.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardOption.h deleted file mode 100644 index 4ca3af10..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ControlStoryboardOption.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Media -{ - /// - /// Represents operations that can be applied to . - /// - public enum class ControlStoryboardOption - { - Play, - Stop, - TogglePlayPause, - Pause, - Resume, - SkipToFill - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.cpp deleted file mode 100644 index 406750bc..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "EventManager.h" -#include "ResourceHelper.h" -#include -#include - -#define UNREGISTER_EVENT(event_name, type) \ - [](Object^ sender, EventRegistrationToken token) { safe_cast(sender)->event_name -= token; } - -#define ADD_DESCRIPTION(event_name, type, handler_type, args_type) \ - EventManager::AddDecription(L#event_name, [](Object^ sender, Action^ action) \ - { return safe_cast(sender)->event_name += ref new handler_type([action](Object^ s, args_type^ e) { action(e); }); }, \ - UNREGISTER_EVENT(event_name, type)) - -#define ADD_TYPED_DESCRIPTION(event_name, type, args_type) \ - EventManager::AddDecription(L#event_name, [](Object^ sender, Action^ action) \ - { return safe_cast(sender)->event_name += ref new TypedEventHandler([action](type^ s, args_type^ e) { action(e); }); }, \ - UNREGISTER_EVENT(event_name, type)) - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Input; -using namespace Windows::UI::Xaml::Controls; -using namespace Microsoft::Xaml::Interactions::Core; -using namespace Windows::UI::Xaml::Controls::Primitives; - -struct CompareStringMethod -{ - bool operator() (const wchar_t* lhs, const wchar_t* rhs) const - { - return wcscmp(lhs, rhs) < 0; - } -}; - -typedef std::map EventNameToRegisterHandlerMap; -typedef std::map EventNameToUnregisterHandlerMap; - -namespace Global -{ - static EventNameToRegisterHandlerMap RegisterHandlers; - static EventNameToUnregisterHandlerMap UnregisterHandlers; -} - -void EventManager::AddDecription(const wchar_t* eventName, RegisterHandler registerHandler, UnregisterHandler unregisterHandler) -{ - Global::RegisterHandlers.insert(EventNameToRegisterHandlerMap::value_type(eventName, registerHandler)); - Global::UnregisterHandlers.insert(EventNameToUnregisterHandlerMap::value_type(eventName, unregisterHandler)); -} - -EventRegistrationToken EventManager::Register(String^ eventName, Object^ sender, Action^ action) -{ - if (Global::RegisterHandlers.empty()) - { - EventManager::AddDefaultEvents(); - } - - EventNameToRegisterHandlerMap::const_iterator iterator = Global::RegisterHandlers.find(eventName->Data()); - if (iterator != Global::RegisterHandlers.end()) - { - RegisterHandler handler = iterator->second; - return handler(sender, action); - } - else - { - throw ref new FailureException(ResourceHelper::GetString("EventNotSupportedExceptionMessage", eventName)); - } -} - -void EventManager::Unregister(String^ eventName, Object^ sender, EventRegistrationToken token) -{ - if (Global::UnregisterHandlers.empty()) - { - EventManager::AddDefaultEvents(); - } - - EventNameToUnregisterHandlerMap::const_iterator iterator = Global::UnregisterHandlers.find(eventName->Data()); - if (iterator != Global::UnregisterHandlers.end()) - { - UnregisterHandler handler = iterator->second; - handler(sender, token); - } - else - { - throw ref new FailureException(ResourceHelper::GetString("EventNotSupportedExceptionMessage", eventName)); - } -} - -void EventManager::AddDefaultEvents() -{ - // When adding to this list, also add the full event name to EventPickerEditor.xaml.cs in - // order to get designtime support. - ADD_DESCRIPTION(PointerPressed, UIElement, PointerEventHandler, PointerRoutedEventArgs); - ADD_DESCRIPTION(PointerReleased, UIElement, PointerEventHandler, PointerRoutedEventArgs); - ADD_DESCRIPTION(Tapped, UIElement, TappedEventHandler, TappedRoutedEventArgs); - ADD_DESCRIPTION(Click, ButtonBase, RoutedEventHandler, RoutedEventArgs); - ADD_DESCRIPTION(Checked, ToggleButton, RoutedEventHandler, RoutedEventArgs); - ADD_DESCRIPTION(Unchecked, ToggleButton, RoutedEventHandler, RoutedEventArgs); - ADD_DESCRIPTION(TextChanged, TextBox, TextChangedEventHandler, TextChangedEventArgs); - ADD_DESCRIPTION(Toggled, ToggleSwitch, RoutedEventHandler, RoutedEventArgs); - ADD_DESCRIPTION(SelectionChanged, Selector, SelectionChangedEventHandler, SelectionChangedEventArgs); - - ADD_TYPED_DESCRIPTION(NavigationCompleted, WebView, WebViewNavigationCompletedEventArgs); - ADD_TYPED_DESCRIPTION(DataContextChanged, FrameworkElement, DataContextChangedEventArgs); -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.h deleted file mode 100644 index dc5c7e7e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventManager.h +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - private delegate void Action(::Platform::Object^ eventArgs); - - // A method that when given an arbitrary object and action, hooks an event handler to the object - // such that when the event is fired, the action is invoked. - typedef ::Windows::Foundation::EventRegistrationToken(*RegisterHandler)(::Platform::Object^, Action^); - - typedef void (*UnregisterHandler)(::Platform::Object^, ::Windows::Foundation::EventRegistrationToken); - - // A static class that maps event names to delegates which are able to attach to that event when - // given a object and a method to invoke as the result of event firing. Currently we assume that - // event names are unique. - class EventManager sealed - { - public: - static void AddDecription( - const wchar_t* eventName, - RegisterHandler handler, - UnregisterHandler unregisterHandler); - - static ::Windows::Foundation::EventRegistrationToken Register( - ::Platform::String^ eventName, - ::Platform::Object^ sender, - Action^ action); - - static void Unregister( - ::Platform::String^ eventName, - ::Platform::Object^ sender, - ::Windows::Foundation::EventRegistrationToken token); - - private: - static void AddDefaultEvents(); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.cpp deleted file mode 100644 index 5b5ccc2c..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.cpp +++ /dev/null @@ -1,196 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma warning(disable: 6298) -#include "pch.h" -#include "EventTriggerBehavior.h" -#include "EventManager.h" -#include "ResourceHelper.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::Foundation::Collections; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Core; - -namespace DependencyProperties -{ - static DependencyProperty^ SourceObject = DependencyProperty::Register( - "SourceObject", - Object::typeid, - EventTriggerBehavior::typeid, - ref new PropertyMetadata(nullptr, ref new PropertyChangedCallback(&EventTriggerBehavior::OnSourceObjectChanged))); - - static DependencyProperty^ EventName = DependencyProperty::Register( - "EventName", - String::typeid, - EventTriggerBehavior::typeid, - ref new PropertyMetadata("Loaded", ref new PropertyChangedCallback(&EventTriggerBehavior::OnEventNameChanged))); - - static DependencyProperty^ Actions = DependencyProperty::Register( - "Actions", - ActionCollection::typeid, - EventTriggerBehavior::typeid, - ref new PropertyMetadata(nullptr)); -} - -void EventTriggerBehavior::OnEventNameChanged(DependencyObject^ sender, DependencyPropertyChangedEventArgs^ args) -{ - EventTriggerBehavior^ eventTriggerBehavior = safe_cast(sender); - if (eventTriggerBehavior->AssociatedObject == nullptr || eventTriggerBehavior->resolvedSource == nullptr) - { - return; - } - - String^ oldEventName = safe_cast(args->OldValue); - String^ newEventName = safe_cast(args->NewValue); - - eventTriggerBehavior->UnregisterEvent(oldEventName); - eventTriggerBehavior->RegisterEvent(newEventName); -} - -void EventTriggerBehavior::OnSourceObjectChanged(DependencyObject^ sender, DependencyPropertyChangedEventArgs^ args) -{ - EventTriggerBehavior^ eventTriggerBehavior = safe_cast(sender); - eventTriggerBehavior->SetResolvedSource(eventTriggerBehavior->ComputeResolvedSource()); -} - -DependencyProperty^ EventTriggerBehavior::SourceObjectProperty::get() -{ - return DependencyProperties::SourceObject; -} - -DependencyProperty^ EventTriggerBehavior::EventNameProperty::get() -{ - return DependencyProperties::EventName; -} - -DependencyProperty^ EventTriggerBehavior::ActionsProperty::get() -{ - return DependencyProperties::Actions; -} - -void EventTriggerBehavior::Attach(DependencyObject^ associatedObject) -{ - if (associatedObject == this->AssociatedObject) - { - return; - } - - if (Windows::ApplicationModel::DesignMode::DesignModeEnabled) - { - return; - } - - if (this->AssociatedObject != nullptr) - { - throw ref new FailureException(ResourceHelper::GetString("CannotAttachBehaviorMultipleTimesExceptionMessage")); - } - - this->associatedObject = associatedObject; - this->SetResolvedSource(this->ComputeResolvedSource()); -} - -Object^ EventTriggerBehavior::ComputeResolvedSource() -{ - if (this->ReadLocalValue(EventTriggerBehavior::SourceObjectProperty) != DependencyProperty::UnsetValue) - { - return this->SourceObject; - } - - return this->AssociatedObject; -} - -void EventTriggerBehavior::SetResolvedSource(Object^ newSource) -{ - if (this->AssociatedObject == nullptr || this->resolvedSource == newSource) - { - return; - } - - if (this->resolvedSource != nullptr) - { - this->UnregisterEvent(this->EventName); - } - - this->resolvedSource = newSource; - - if (this->resolvedSource != nullptr) - { - this->RegisterEvent(this->EventName); - } -} - -void EventTriggerBehavior::RegisterEvent(String^ eventName) -{ - if (eventName == nullptr) - { - return; - } - - if (eventName != "Loaded") - { - this->registeredToken = EventManager::Register(eventName, this->resolvedSource, ref new Action(this, &EventTriggerBehavior::InvokeActions)); - } - else if (!this->isLoadedRegistered) - { - FrameworkElement^ element = dynamic_cast(this->resolvedSource); - if (element != nullptr && !EventTriggerBehavior::IsElementLoaded(element)) - { - this->isLoadedRegistered = true; - this->loadedToken = element->Loaded += ref new RoutedEventHandler(this, &EventTriggerBehavior::OnLoaded); - } - } -} - -void EventTriggerBehavior::UnregisterEvent(String^ eventName) -{ - if (eventName == nullptr) - { - return; - } - - if (eventName == "Loaded") - { - if (this->isLoadedRegistered) - { - this->isLoadedRegistered = false; - FrameworkElement^ element = safe_cast(this->resolvedSource); - element->Loaded -= this->loadedToken; - } - } - else - { - EventManager::Unregister(eventName, this->resolvedSource, this->registeredToken); - } -} - -void EventTriggerBehavior::InvokeActions(Object^ eventArgs) -{ - Interaction::ExecuteActions(this->resolvedSource, this->Actions, eventArgs); -} - -void EventTriggerBehavior::Detach() -{ - this->SetResolvedSource(nullptr); - this->associatedObject = nullptr; -} - -void EventTriggerBehavior::OnLoaded(Object^ sender, RoutedEventArgs^ e) -{ - this->InvokeActions(e); -} - -bool EventTriggerBehavior::IsElementLoaded(FrameworkElement^ element) -{ - UIElement^ rootVisual = Window::Current->Content; - - DependencyObject^ parent = element->Parent; - - if (parent == nullptr) - { - parent = VisualTreeHelper::GetParent(element); - } - - return (parent != nullptr || (rootVisual != nullptr && element == rootVisual)); -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.h deleted file mode 100644 index 6223c441..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/EventTriggerBehavior.h +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once -#include "EventManager.h" - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - /// - /// A behavior that listens for a specified event on its source and executes its actions when that event is fired. - /// - /// - /// The following events are supported: - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// Consider implementing a custom behavior to respond to other events. - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - [::Windows::UI::Xaml::Markup::ContentPropertyAttribute(Name = "Actions")] - public ref class EventTriggerBehavior sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IBehavior - { - private: - ::Windows::UI::Xaml::DependencyObject^ associatedObject; - void InvokeActions(::Platform::Object^ eventArgs); - - // Resolved source - ::Platform::Object^ resolvedSource; - ::Platform::Object^ ComputeResolvedSource(); - void SetResolvedSource(::Platform::Object^ newSource); - - // Event registration - ::Windows::Foundation::EventRegistrationToken registeredToken; - void RegisterEvent(::Platform::String^ eventName); - void UnregisterEvent(::Platform::String^ eventName); - - // Loaded registration - bool isLoadedRegistered; - ::Windows::Foundation::EventRegistrationToken loadedToken; - void OnLoaded(::Platform::Object^ sender, ::Windows::UI::Xaml::RoutedEventArgs^ e); - - internal: - // Dependency property change handlers - static void OnEventNameChanged(::Windows::UI::Xaml::DependencyObject^ sender, ::Windows::UI::Xaml::DependencyPropertyChangedEventArgs^ args); - static void OnSourceObjectChanged(::Windows::UI::Xaml::DependencyObject^ sender, ::Windows::UI::Xaml::DependencyPropertyChangedEventArgs^ args); - static bool IsElementLoaded(::Windows::UI::Xaml::FrameworkElement^ frameworkElement); - - public: - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ SourceObjectProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ EventNameProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ ActionsProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets the to which the is attached. - /// - virtual property ::Windows::UI::Xaml::DependencyObject^ AssociatedObject - { - ::Windows::UI::Xaml::DependencyObject^ get() - { - return this->associatedObject; - } - } - - /// - /// Gets or sets the source object from which this behavior listens for events. - /// If is not set, the source will default to . This is a dependency property. - /// - property ::Platform::Object^ SourceObject - { - ::Platform::Object^ get() - { - return safe_cast<::Platform::Object^>(this->GetValue(EventTriggerBehavior::SourceObjectProperty)); - } - - void set(::Platform::Object^ value) - { - this->SetValue(EventTriggerBehavior::SourceObjectProperty, value); - } - } - - /// - /// Gets or sets the name of the event to listen for. This is a dependency property. - /// - property::Platform::String^ EventName - { - ::Platform::String^ get() - { - return safe_cast<::Platform::String^>(this->GetValue(EventTriggerBehavior::EventNameProperty)); - } - - void set(::Platform::String^ value) - { - this->SetValue(EventTriggerBehavior::EventNameProperty, value); - } - } - - /// - /// Gets the collection of actions associated with the behavior. This is a dependency property. - /// - property ::Microsoft::Xaml::Interactivity::ActionCollection^ Actions - { - ::Microsoft::Xaml::Interactivity::ActionCollection^ get() - { - ::Microsoft::Xaml::Interactivity::ActionCollection^ actionCollection = safe_cast<::Microsoft::Xaml::Interactivity::ActionCollection^>(this->GetValue(EventTriggerBehavior::ActionsProperty)); - if (actionCollection == nullptr) - { - actionCollection = ref new ::Microsoft::Xaml::Interactivity::ActionCollection(); - this->SetValue(EventTriggerBehavior::ActionsProperty, actionCollection); - } - - return actionCollection; - } - } - - /// - /// Attaches to the specified object. - /// - /// The to which the will be attached. - virtual void Attach(::Windows::UI::Xaml::DependencyObject^ associatedObject); - - /// - /// Detaches this instance from its associated object. - /// - virtual void Detach(); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.cpp deleted file mode 100644 index 425829bc..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "GoToStateAction.h" -#include "ResourceHelper.h" -#include "EventTriggerBehavior.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Core; - -namespace DependencyProperties -{ - static DependencyProperty^ TargetObject = DependencyProperty::Register( - "TargetObject", - FrameworkElement::typeid, - GoToStateAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ StateName = DependencyProperty::Register( - "StateName", - String::typeid, - GoToStateAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ UseTransitions = DependencyProperty::Register( - "UseTransitions", - Boolean::typeid, - GoToStateAction::typeid, - ref new PropertyMetadata(true)); -} - -DependencyProperty^ GoToStateAction::TargetObjectProperty::get() -{ - return DependencyProperties::TargetObject; -} - -DependencyProperty^ GoToStateAction::StateNameProperty::get() -{ - return DependencyProperties::StateName; -} - -DependencyProperty^ GoToStateAction::UseTransitionsProperty::get() -{ - return DependencyProperties::UseTransitions; -} - -Object^ GoToStateAction::Execute(Object^ sender, Object^ parameter) -{ - if (this->StateName == nullptr) - { - return false; - } - - - if (this->ReadLocalValue(GoToStateAction::TargetObjectProperty) != DependencyProperty::UnsetValue) - { - Control^ control = dynamic_cast(this->TargetObject); - if (control == nullptr) - { - return false; - } - - return VisualStateUtilities::GoToState(control, this->StateName, this->UseTransitions); - } - - FrameworkElement^ element = dynamic_cast(sender); - if (element == nullptr || !EventTriggerBehavior::IsElementLoaded(element)) - { - return false; - } - - Control^ resolvedControl = VisualStateUtilities::FindNearestStatefulControl(element); - if (resolvedControl == nullptr) - { - throw ref new FailureException(ResourceHelper::GetString("GoToStateActionTargetHasNoStateGroups", element->Name)); - } - - return VisualStateUtilities::GoToState(resolvedControl, this->StateName, this->UseTransitions); -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.h deleted file mode 100644 index 155250a0..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/GoToStateAction.h +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - /// - /// An action that will transition a to a specified when executed. - /// - /// - /// If the property is set, this action will attempt to change the state of the targeted element. If it is not set, the action walks - /// the element tree in an attempt to locate an alternative target that defines states. and are - /// two common results. - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class GoToStateAction sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IAction - { - public: - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ TargetObjectProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ StateNameProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ UseTransitionsProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets or sets the target object. This is a dependency property. - /// - property ::Windows::UI::Xaml::FrameworkElement^ TargetObject - { - ::Windows::UI::Xaml::FrameworkElement^ get() - { - return safe_cast<::Windows::UI::Xaml::FrameworkElement^>(this->GetValue(GoToStateAction::TargetObjectProperty)); - } - - void set(::Windows::UI::Xaml::FrameworkElement^ value) - { - this->SetValue(GoToStateAction::TargetObjectProperty, value); - } - } - - /// - /// Gets or sets the name of the . This is a dependency property. - /// - property ::Platform::String^ StateName - { - ::Platform::String^ get() - { - return safe_cast<::Platform::String^>(this->GetValue(GoToStateAction::StateNameProperty)); - } - - void set(::Platform::String^ value) - { - this->SetValue(GoToStateAction::StateNameProperty, value); - } - } - - /// - /// Gets or sets whether or not to use a to transition between states. This is a dependency property. - /// - property bool UseTransitions - { - bool get() - { - return safe_cast(this->GetValue(GoToStateAction::UseTransitionsProperty)); - } - - void set(bool value) - { - this->SetValue(GoToStateAction::UseTransitionsProperty, value); - } - } - - /// - /// Executes the action. - /// - /// The that is passed to the action by the behavior. Generally this is or a target object. - /// The value of this parameter is determined by the caller. - /// True if the transition to the specified state succeeds; else false. - virtual ::Platform::Object^ Execute(::Platform::Object^ sender, ::Platform::Object^ parameter); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.cpp deleted file mode 100644 index 4bcca851..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.cpp +++ /dev/null @@ -1,375 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma warning(disable: 6298) -#include "pch.h" -#include "IncrementalUpdateBehavior.h" -#include "ResourceHelper.h" - -using namespace std; -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Windows::UI::Xaml::Media; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Core; - -namespace DependencyProperties -{ - static DependencyProperty^ Phase = DependencyProperty::Register( - "Phase", - int::typeid, - IncrementalUpdateBehavior::typeid, - ref new PropertyMetadata(1, ref new PropertyChangedCallback(&IncrementalUpdateBehavior::OnPhaseChanged))); - - static DependencyProperty^ IncrementalUpdater = DependencyProperty::RegisterAttached( - "IncrementalUpdater", - IncrementalUpdateBehavior::IncrementalUpdater::typeid, - IncrementalUpdateBehavior::typeid, - ref new PropertyMetadata(nullptr, ref new PropertyChangedCallback(&IncrementalUpdateBehavior::OnIncrementalUpdaterChanged))); -} - -void IncrementalUpdateBehavior::IncrementalUpdater::PhasedElementRecord::FreezeAndHide() -{ - if (_isFrozen) - { - return; - } - - _isFrozen = true; - _localOpacity = _frameworkElement->ReadLocalValue(FrameworkElement::OpacityProperty); - _localDataContext = _frameworkElement->ReadLocalValue(FrameworkElement::DataContextProperty); - _frameworkElement->Opacity = 0.0; - _frameworkElement->DataContext = _frameworkElement->DataContext; -} - -void IncrementalUpdateBehavior::IncrementalUpdater::PhasedElementRecord::ThawAndShow() -{ - if (!_isFrozen) - { - return; - } - - if (_localOpacity != DependencyProperty::UnsetValue) - { - _frameworkElement->SetValue(FrameworkElement::OpacityProperty, _localOpacity); - } - else - { - _frameworkElement->ClearValue(FrameworkElement::OpacityProperty); - } - - if (_localDataContext != DependencyProperty::UnsetValue) - { - _frameworkElement->SetValue(FrameworkElement::DataContextProperty, _localDataContext); - } - else - { - _frameworkElement->ClearValue(FrameworkElement::DataContextProperty); - } - - _isFrozen = false; -} - -UIElement^ IncrementalUpdateBehavior::IncrementalUpdater::FindContentTemplateRoot(FrameworkElement^ phaseElement) -{ - DependencyObject^ ancestor = static_cast(phaseElement) ; - while (ancestor != nullptr) - { - DependencyObject^ parent = VisualTreeHelper::GetParent(ancestor); - SelectorItem^ item = dynamic_cast(parent); - - if (item != nullptr) - { - return item->ContentTemplateRoot; - } - ancestor = parent; - } - - return nullptr; -} - -void IncrementalUpdateBehavior::IncrementalUpdater::CachePhaseElement(FrameworkElement^ phaseElement, int phase) -{ - if (phase < 0) - { - throw ref new OutOfBoundsException("phase"); - } - - if (phase <= 0) - { - return; - } - - UIElement^ contentTemplateRoot = IncrementalUpdateBehavior::IncrementalUpdater::FindContentTemplateRoot(phaseElement); - if (contentTemplateRoot != nullptr) - { - // get the cache for this element - auto& elementCacheRecord = _elementCache[contentTemplateRoot]; - - // get the cache for this phase - auto& elementPhaseRecord = elementCacheRecord[phase]; - - // first see if the element is already there - for (auto it = elementPhaseRecord.begin(); it < elementPhaseRecord.end(); it++) - { - if (it->_frameworkElement == phaseElement) - { - return; - } - } - - // insert the element - PhasedElementRecord phasedElementRecord(phaseElement); - elementPhaseRecord.push_back(phasedElementRecord); - } -} - -void IncrementalUpdateBehavior::IncrementalUpdater::UncachePhaseElement(FrameworkElement^ phaseElement, int phase) -{ - if (phase <= 0) - { - return; - } - - UIElement^ contentTemplateRoot = IncrementalUpdateBehavior::IncrementalUpdater::FindContentTemplateRoot(phaseElement); - if (contentTemplateRoot != nullptr) - { - // get the cache for this element - auto& elementCacheRecord = _elementCache[contentTemplateRoot]; - - // get the cache for this phase - auto& elementPhaseRecord = elementCacheRecord[phase]; - - // remove the element - for (auto it = elementPhaseRecord.begin(); it < elementPhaseRecord.end(); it++) - { - if (it->_frameworkElement == phaseElement) - { - it->ThawAndShow(); - elementPhaseRecord.erase(it); - break; - } - } - } -} - -void IncrementalUpdateBehavior::IncrementalUpdater::OnContainerContentChanging(Windows::UI::Xaml::Controls::ListViewBase^ sender, ContainerContentChangingEventArgs^ e) -{ - UIElement^ contentTemplateRoot = e->ItemContainer->ContentTemplateRoot; - - if (_elementCache.find(contentTemplateRoot) == _elementCache.end()) - { - return; - } - - auto& elementCacheRecord = _elementCache[contentTemplateRoot]; - - if (!e->InRecycleQueue) - { - for (auto& phaseRecordPair : elementCacheRecord) - { - for (auto& phaseElementRecord : phaseRecordPair.second) - { - phaseElementRecord.FreezeAndHide(); - } - } - - if (elementCacheRecord.size() > 0) - { - e->RegisterUpdateCallback(elementCacheRecord.cbegin()->first, _cccCallbackHandler); - } - - // set the DataContext manually since we inhibit default operation by setting e.Handled=true - FrameworkElement^ frameworkElement = dynamic_cast(contentTemplateRoot); - if (frameworkElement != nullptr) - { - frameworkElement->DataContext = e->Item; - } - } - else - { - // clear the DataContext manually since we inhibit default operation by setting e.Handled=true - contentTemplateRoot->ClearValue(FrameworkElement::DataContextProperty); - - for (auto& phaseRecordPair : elementCacheRecord) - { - for (auto& phaseElementRecord : phaseRecordPair.second) - { - phaseElementRecord.ThawAndShow(); - } - } - } -} - -void IncrementalUpdateBehavior::IncrementalUpdater::OnContainerContentChangingCallback(Windows::UI::Xaml::Controls::ListViewBase^ sender, ContainerContentChangingEventArgs^ e) -{ - map> *elementCacheRecord = &_elementCache[e->ItemContainer->ContentTemplateRoot]; - - auto it = elementCacheRecord->find(e->Phase); - - for (auto& phaseElementRecord : it->second) - { - phaseElementRecord.ThawAndShow(); - } - - it++; - if (it != elementCacheRecord->end()) - { - e->RegisterUpdateCallback(it->first, _cccCallbackHandler); - } -} - -void IncrementalUpdateBehavior::IncrementalUpdater::Attach(DependencyObject^ dependencyObject) -{ - _listViewBase = safe_cast(dependencyObject); - - if (_cccHandler == nullptr) - { - _cccHandler = ref new TypedEventHandler(this, &IncrementalUpdateBehavior::IncrementalUpdater::OnContainerContentChanging); - } - - if (_cccCallbackHandler == nullptr) - { - _cccCallbackHandler = ref new TypedEventHandler(this, &IncrementalUpdateBehavior::IncrementalUpdater::OnContainerContentChangingCallback); - } - - _containerContentChangingToken = _listViewBase->ContainerContentChanging += _cccHandler; -} - -void IncrementalUpdateBehavior::IncrementalUpdater::Detach() -{ - _listViewBase->ContainerContentChanging -= _containerContentChangingToken; - _listViewBase = nullptr; -} - -void IncrementalUpdateBehavior::OnPhaseChanged(DependencyObject^ sender, DependencyPropertyChangedEventArgs^ args) -{ - IncrementalUpdateBehavior^ behavior = safe_cast(sender); - IncrementalUpdater^ incrementalUpdater = behavior->FindUpdater(); - FrameworkElement^ frameworkElement = dynamic_cast(behavior->_associatedObject); - - if (incrementalUpdater != nullptr && frameworkElement != nullptr) - { - incrementalUpdater->UncachePhaseElement(frameworkElement, safe_cast(args->OldValue)); - incrementalUpdater->CachePhaseElement(frameworkElement, safe_cast(args->NewValue)); - } -} - -DependencyProperty^ IncrementalUpdateBehavior::PhaseProperty::get() -{ - return DependencyProperties::Phase; -} - -void IncrementalUpdateBehavior::OnIncrementalUpdaterChanged(DependencyObject^ sender, DependencyPropertyChangedEventArgs^ args) -{ - if (args->OldValue != nullptr) - { - IncrementalUpdateBehavior::IncrementalUpdater^ incrementalUpdater = static_cast(args->OldValue); - incrementalUpdater->Detach(); - } - if (args->NewValue != nullptr) - { - IncrementalUpdateBehavior::IncrementalUpdater^ incrementalUpdater = static_cast(args->NewValue); - incrementalUpdater->Attach(sender); - } -} - -DependencyProperty^ IncrementalUpdateBehavior::IncrementalUpdaterProperty::get() -{ - return DependencyProperties::IncrementalUpdater; -} - -void IncrementalUpdateBehavior::OnAssociatedObjectLoaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - IncrementalUpdater^ incrementalUpdater = this->FindUpdater(); - FrameworkElement^ frameworkElement = static_cast(_associatedObject); - - if (incrementalUpdater != nullptr && frameworkElement != nullptr) - { - incrementalUpdater->CachePhaseElement(frameworkElement, this->Phase); - } -} - -void IncrementalUpdateBehavior::OnAssociatedObjectUnloaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - FrameworkElement^ frameworkElement = static_cast(_associatedObject); - - if (_updater != nullptr && frameworkElement != nullptr) - { - _updater->UncachePhaseElement(frameworkElement, this->Phase); - } - - _updater = nullptr; -} - -IncrementalUpdateBehavior::IncrementalUpdater^ IncrementalUpdateBehavior::FindUpdater() -{ - if (_updater != nullptr) - { - return _updater; - } - - DependencyObject^ ancestor = _associatedObject; - while (ancestor != nullptr) - { - DependencyObject^ parent = VisualTreeHelper::GetParent(ancestor); - ListViewBase^ listView = dynamic_cast(parent); - - if (listView != nullptr) - { - IncrementalUpdater^ currentUpdater = IncrementalUpdateBehavior::GetIncrementalUpdater(listView); - if (currentUpdater == nullptr) - { - currentUpdater = ref new IncrementalUpdater(); - - IncrementalUpdateBehavior::SetIncrementalUpdater(listView, currentUpdater); - } - return currentUpdater; - } - ancestor = parent; - } - - return nullptr; -} - -void IncrementalUpdateBehavior::Attach(DependencyObject^ associatedObject) -{ - if (associatedObject == _associatedObject) - { - return; - } - - if (Windows::ApplicationModel::DesignMode::DesignModeEnabled) - { - return; - } - - if (_associatedObject != nullptr) - { - throw ref new FailureException(ResourceHelper::GetString("CannotAttachBehaviorMultipleTimesExceptionMessage")); - } - - _associatedObject = associatedObject; - - FrameworkElement^ frameworkElement = dynamic_cast(associatedObject); - if (frameworkElement != nullptr) - { - _loadedToken = frameworkElement->Loaded += ref new Windows::UI::Xaml::RoutedEventHandler(this, &IncrementalUpdateBehavior::OnAssociatedObjectLoaded); - _unloadedToken = frameworkElement->Unloaded += ref new Windows::UI::Xaml::RoutedEventHandler(this, &IncrementalUpdateBehavior::OnAssociatedObjectUnloaded); - } -} - -void IncrementalUpdateBehavior::Detach() -{ - FrameworkElement^ frameworkElement = dynamic_cast(_associatedObject); - if (frameworkElement != nullptr) - { - frameworkElement->Loaded -= _loadedToken; - frameworkElement->Unloaded -= _unloadedToken; - // no need to perform the work that Unloaded would have done - that's just housekeeping on the cache, which is now going away - } - - _associatedObject = nullptr; -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.h deleted file mode 100644 index a8b81763..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/IncrementalUpdateBehavior.h +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - /// - /// A behavior that allows incremental updating of and contents to support faster updating. - /// By attaching this behavior to elements in the used by these views, some of the updates can be deferred until there is render time available, resulting in a smoother experience. - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class IncrementalUpdateBehavior sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IBehavior - { - internal: - [::Windows::Foundation::Metadata::WebHostHidden] - ref class IncrementalUpdater sealed - { - public: - void CachePhaseElement(::Windows::UI::Xaml::FrameworkElement^ phaseElement, int phase); - void UncachePhaseElement(::Windows::UI::Xaml::FrameworkElement^ phaseElement, int phase); - void Attach(::Windows::UI::Xaml::DependencyObject^ dependencyObject); - void Detach(); - - private: - class UIElementComparator - { - public: - bool operator()(const ::Windows::UI::Xaml::UIElement^ x, const ::Windows::UI::Xaml::UIElement^ y) const { return reinterpret_cast(x) < reinterpret_cast(y); } - }; - - class PhasedElementRecord - { - private: - ::Platform::Object^ _localOpacity; - ::Platform::Object^ _localDataContext; - bool _isFrozen; - - public: - ::Windows::UI::Xaml::FrameworkElement^ _frameworkElement; - - PhasedElementRecord(::Windows::UI::Xaml::FrameworkElement^ frameworkElement) { this->_isFrozen = false; this->_frameworkElement = frameworkElement; } - void FreezeAndHide(); - void ThawAndShow(); - }; - - std::map<::Windows::UI::Xaml::UIElement^, std::map>, IncrementalUpdater::UIElementComparator> _elementCache; - - static ::Windows::UI::Xaml::UIElement^ FindContentTemplateRoot(::Windows::UI::Xaml::FrameworkElement^ phaseElement); - - ::Windows::Foundation::EventRegistrationToken _containerContentChangingToken; - ::Windows::UI::Xaml::Controls::ListViewBase^ _listViewBase; - - void OnContainerContentChanging(::Windows::UI::Xaml::Controls::ListViewBase^ sender, ::Windows::UI::Xaml::Controls::ContainerContentChangingEventArgs^ e); - void OnContainerContentChangingCallback(Windows::UI::Xaml::Controls::ListViewBase^ sender, ::Windows::UI::Xaml::Controls::ContainerContentChangingEventArgs^ e); - ::Windows::Foundation::TypedEventHandler<::Platform::Object^, ::Windows::UI::Xaml::RoutedEventArgs^>^ _unloadedHandler; - ::Windows::Foundation::TypedEventHandler<::Windows::UI::Xaml::Controls::ListViewBase^, ::Windows::UI::Xaml::Controls::ContainerContentChangingEventArgs^>^ _cccHandler; - ::Windows::Foundation::TypedEventHandler<::Windows::UI::Xaml::Controls::ListViewBase^, ::Windows::UI::Xaml::Controls::ContainerContentChangingEventArgs^>^ _cccCallbackHandler; - }; - - static void OnPhaseChanged(::Windows::UI::Xaml::DependencyObject^ sender, ::Windows::UI::Xaml::DependencyPropertyChangedEventArgs^ args); - - static void OnIncrementalUpdaterChanged(::Windows::UI::Xaml::DependencyObject^ sender, ::Windows::UI::Xaml::DependencyPropertyChangedEventArgs^ args); - - private: - ::Windows::UI::Xaml::DependencyObject^ _associatedObject; - ::Windows::Foundation::EventRegistrationToken _loadedToken; - ::Windows::Foundation::EventRegistrationToken _unloadedToken; - - static property::Windows::UI::Xaml::DependencyProperty^ IncrementalUpdaterProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - static IncrementalUpdater^ GetIncrementalUpdater(::Windows::UI::Xaml::DependencyObject^ obj) - { - return safe_cast(obj->GetValue(IncrementalUpdateBehavior::IncrementalUpdaterProperty)); - } - - static void SetIncrementalUpdater(::Windows::UI::Xaml::DependencyObject^ obj, IncrementalUpdater^ value) - { - obj->SetValue(IncrementalUpdateBehavior::IncrementalUpdaterProperty, value); - } - - void OnAssociatedObjectLoaded(::Platform::Object^ sender, ::Windows::UI::Xaml::RoutedEventArgs^ e); - void OnAssociatedObjectUnloaded(::Platform::Object^ sender, ::Windows::UI::Xaml::RoutedEventArgs^ e); - - IncrementalUpdater^ _updater; - IncrementalUpdater^ FindUpdater(); - - public: - /// - /// Gets the to which the is attached. - /// - virtual property ::Windows::UI::Xaml::DependencyObject^ AssociatedObject - { - ::Windows::UI::Xaml::DependencyObject^ get() - { - return this->_associatedObject; - } - } - - /// - /// Attaches to the specified object. - /// - /// The to which the will be attached. - virtual void Attach(::Windows::UI::Xaml::DependencyObject^ associatedObject); - - /// - /// Detaches this instance from its associated object. - /// - virtual void Detach(); - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ PhaseProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets or sets the relative priority of this incremental update. Lower Phase values are addressed first. - /// - property int Phase - { - int get() - { - return safe_cast(this->GetValue(IncrementalUpdateBehavior::PhaseProperty)); - } - - void set(int value) - { - this->SetValue(IncrementalUpdateBehavior::PhaseProperty, value); - } - } - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.cpp deleted file mode 100644 index f071e97f..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.cpp +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "InvokeCommandAction.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Data; -using namespace Windows::UI::Xaml::Input; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Core; - -namespace DependencyProperties -{ - static DependencyProperty^ Command = DependencyProperty::Register( - "Command", - ICommand::typeid, - InvokeCommandAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ CommandParameter = DependencyProperty::Register( - "CommandParameter", - Object::typeid, - InvokeCommandAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ InputConverter = DependencyProperty::Register( - "InputConverter", - IValueConverter::typeid, - InvokeCommandAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ InputConverterParameter = DependencyProperty::Register( - "InputConverterParameter", - Object::typeid, - InvokeCommandAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ InputConverterLanguage = DependencyProperty::Register( - "InputConverterLanguage", - String::typeid, - InvokeCommandAction::typeid, - ref new PropertyMetadata("")); -} - -DependencyProperty^ InvokeCommandAction::CommandProperty::get() -{ - return DependencyProperties::Command; -} - -DependencyProperty^ InvokeCommandAction::CommandParameterProperty::get() -{ - return DependencyProperties::CommandParameter; -} - -DependencyProperty^ InvokeCommandAction::InputConverterProperty::get() -{ - return DependencyProperties::InputConverter; -} - -DependencyProperty^ InvokeCommandAction::InputConverterParameterProperty::get() -{ - return DependencyProperties::InputConverterParameter; -} - -DependencyProperty^ InvokeCommandAction::InputConverterLanguageProperty::get() -{ - return DependencyProperties::InputConverterLanguage; -} - -Object^ InvokeCommandAction::Execute(Object^ sender, Object^ parameter) -{ - if (this->Command == nullptr) - { - return false; - } - - Object^ resolvedParamter; - if (this->CommandParameter != nullptr) - { - resolvedParamter = this->CommandParameter; - } - else if (this->InputConverter != nullptr) - { - resolvedParamter = this->InputConverter->Convert( - parameter, - Object::GetType(), - this->InputConverterParameter, - this->InputConverterLanguage); - } - else - { - resolvedParamter = parameter; - } - - if (!this->Command->CanExecute(resolvedParamter)) - { - return false; - } - - this->Command->Execute(resolvedParamter); - return true; -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.h deleted file mode 100644 index e913ef3d..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/InvokeCommandAction.h +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - /// - /// Executes a specified when invoked. - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class InvokeCommandAction sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IAction - { - public: - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ CommandProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ CommandParameterProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ InputConverterProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ InputConverterParameterProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ InputConverterLanguageProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets or sets the command this action should invoke. This is a dependency property. - /// - property ::Windows::UI::Xaml::Input::ICommand^ Command - { - ::Windows::UI::Xaml::Input::ICommand^ get() - { - return safe_cast<::Windows::UI::Xaml::Input::ICommand^>(this->GetValue(InvokeCommandAction::CommandProperty)); - } - - void set(::Windows::UI::Xaml::Input::ICommand^ value) - { - this->SetValue(InvokeCommandAction::CommandProperty, value); - } - } - - /// - /// Gets or sets the parameter that is passed to . - /// If this is not set, the parameter from the method will be used. - /// This is an optional dependency property. - /// - property ::Platform::Object^ CommandParameter - { - ::Platform::Object^ get() - { - return safe_cast<::Platform::Object^>(this->GetValue(InvokeCommandAction::CommandParameterProperty)); - } - - void set(::Platform::Object^ value) - { - this->SetValue(InvokeCommandAction::CommandParameterProperty, value); - } - } - - /// - /// Gets or sets the converter that is run on the parameter from the method. - /// This is an optional dependency property. - /// - property ::Windows::UI::Xaml::Data::IValueConverter^ InputConverter - { - ::Windows::UI::Xaml::Data::IValueConverter^ get() - { - return safe_cast<::Windows::UI::Xaml::Data::IValueConverter^>(this->GetValue(InvokeCommandAction::InputConverterProperty)); - } - - void set(::Windows::UI::Xaml::Data::IValueConverter^ value) - { - this->SetValue(InvokeCommandAction::InputConverterProperty, value); - } - } - - /// - /// Gets or sets the parameter that is passed to the - /// method of . - /// This is an optional dependency property. - /// - property ::Platform::Object^ InputConverterParameter - { - ::Platform::Object^ get() - { - return safe_cast<::Platform::Object^>(this->GetValue(InvokeCommandAction::InputConverterParameterProperty)); - } - - void set(::Platform::Object^ value) - { - this->SetValue(InvokeCommandAction::InputConverterParameterProperty, value); - } - } - - /// - /// Gets or sets the language that is passed to the - /// method of . - /// This is an optional dependency property. - /// - property ::Platform::String^ InputConverterLanguage - { - ::Platform::String^ get() - { - return safe_cast<::Platform::String^>(this->GetValue(InvokeCommandAction::InputConverterLanguageProperty)); - } - - void set(::Platform::String^ value) - { - this->SetValue(InvokeCommandAction::InputConverterLanguageProperty, value); - } - } - - /// - /// Executes the action. - /// - /// The that is passed to the action by the behavior. Generally this is or a target object. - /// The value of this parameter is determined by the caller. - /// True if the command is successfully executed; else false. - virtual ::Platform::Object^ Execute(::Platform::Object^ sender, ::Platform::Object^ parameter); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.cpp deleted file mode 100644 index 39317d69..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "pch.h" -#include "Microsoft.Xaml.Interactions.h" - -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.h deleted file mode 100644 index 8a5af6d3..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.rc b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.rc deleted file mode 100644 index 6d285329154a138f9216537b866148988d06f675..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2664 zcmdUxTTAOe5Xb+|g5M#wFN$KlJo%`t7CE&_FQQN=VvQDRJTxu7_}M+@HyamYlPF#u zBFlC*)0x?s|6G!P&o$K)=tN^(YpMsu>`*g!=kQ|9b)^YUb*-}k-RedWdkTLB9l@JI zO>fTWnsdODSsUvwGMie~61UVGt-_7?cY^fD$yPG@o4QlQNtyg zL&rMRP#qn@ZE$X@rAs(neou4&r^VUdZ$6Z7dG9<8)C8ABj6+a*&^__bK*wX?I-RZ>XYU#ks|yti8}>b(odZbbi0 z$W%-X1X?BM5l_AkyPT4)jJ1|i1#zmU#tyHQH@!8&;=Ycks-&m7^iQAes&n&@>T0pf z?h`90)a+rSLk$nnYNNmAZf(JB!|g+xu1@!~ftBqApNcbSb$*UVf6#9Hx}MJOR-ap= zwzol~Sn`0#o37tYHh5Y2^K+oBmlPO~3yZ_E?q+hqO25VR5}je2>_7V)mVz&HI09JUAu* diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj deleted file mode 100644 index 1d303862..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj +++ /dev/null @@ -1,361 +0,0 @@ - - - - - 4.0 - en-US - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {eaf5de54-6367-456a-8012-76775f514c5e} - DynamicLibrary - Microsoft.Xaml.Interactions - Microsoft.Xaml.Interactions - en-US - 14.0 - true - Windows Store - 10.0.19041.0 - 10.0.10240.0 - 10.0 - true - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\$(ProjectName)\ - x86|x64|arm - - - - DynamicLibrary - true - v142 - - - DynamicLibrary - true - v142 - - - DynamicLibrary - true - v142 - - - DynamicLibrary - true - v142 - - - DynamicLibrary - false - true - v142 - - - DynamicLibrary - false - true - v142 - - - DynamicLibrary - false - true - v142 - - - DynamicLibrary - false - true - v142 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - false - - - false - false - - - false - false - - - false - false - - - false - false - - - false - false - - - false - false - - - false - false - - - - Use - %(AdditionalIncludeDirectories) - %(AdditionalUsingDirectories) - _WINRT_DLL;%(PreprocessorDefinitions) - true - - - Console - false - true - %(AdditionalDependencies) - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - Console - false - true - $(OutDir)$(TargetName).winmd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - - - - - - - - - - - - - - - - - - - - {721b956c-043c-4658-8aa7-d72fd5f112bf} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj.filters b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj.filters deleted file mode 100644 index 6a8cad89..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions.vcxproj.filters +++ /dev/null @@ -1,76 +0,0 @@ - - - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms - - - {73ebd3b4-24ea-4852-b1c5-ed658141c291} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resource Files - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions1.rc b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Microsoft.Xaml.Interactions1.rc deleted file mode 100644 index d3073e2568d2f7af869072deb64b4b10e8a26de4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2668 zcmdUxOK;jh5Xb-LO8E{hT!LDalALnnk)WtRA|6p9A)zSL4H9)K4C1%3(w$;{TKCuG*(04`b75p`H z4sQiDy$z=u&H+zmZJ}Ste9@jha7*3MD%^;Fmq^c@Y$c=LK<8E!CvUn{CmA|Tv)VnKJ${{%2=_m28LC0_y z6ZIv(r$pT*PQ&9E{sDV8Cr@YLx5GEldx(Ge5c3`-)v*C9tEG^*Usf9)d2hE|)O#0@ z-G~lclBt*)2((YmBc6OGjyNTK8LO641#zmU77nkE4|;2k#imZEs-&kz^v{IuYIF09 z>gut~?jKfAs5!>QkQ$z$H9)`SZtcMxz@0$5u1=5i87qw)pNcbSb$)?I-_Y*7yPnSP zR-ap=wi_T)EZHLRuIqP`4YsRjf==~yJ4G!I31X&a^CABZvuF}U_vB6Qin5cVqA3$- zN^K@n{NB?dpAKK_({pdCy4gCXYiwR5%lbWUc4RBg&?&a?HvL(y>67-xqEBzDhw#zq un?*2fuUuz~%sle+weMl8>Bry09?Np!koLwrEUx#6FB1D!%)WKAdH)a3`Z$OH diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.de-DE.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.de-DE.xlf deleted file mode 100644 index 39c7d8f2..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.de-DE.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - Keine Methode mit der Bezeichnung {0} im Objekt vom Typ {1} gefunden, die mit der erwarteten Signatur übereinstimmt. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - Eine Instanz eines Verhaltens kann nicht mehreren Objekten gleichzeitig angefügt werden. - - - Cannot find an event named {0} on type {1}. - Kein Ereignis mit der Bezeichnung {0} auf Typ {1} gefunden. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - Keine Eigenschaft mit der Bezeichnung {0} auf Typ {1} gefunden. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - Kann keinen Wert vom Typ {0} zu einer Eigenschaft {1} vom Typ {2} zuweisen. Die Eigenschaft {1} kann nur Werten vom Typ {2} zugewiesen werden. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - Die vom Typ {1} definierte Eigenschaft {0} gibt keine Methode zum Festlegen an und kann daher nicht geändert werden. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - Ereignis {0} ist nicht unterstützt. Erwägen Sie die Implementierung eines benutzerdefinierten IBehavior, um auf dieses Ereignis zu reagieren. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - Das Ziel {0} definiert keine VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - Die Bindungseigenschaft vom Typ {0} kann nicht mit dem Operator {1} verwendet werden. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - Die Bindungseigenschaft vom Typ {0} und die Werteigenschaft vom Typ {1} können nicht mit dem Operator {2} verwendet werden. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - Die Werteigenschaft vom Typ {0} kann nicht mit dem Operator {1} verwendet werden. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.es-ES.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.es-ES.xlf deleted file mode 100644 index bbe39d3c..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.es-ES.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - No se puede encontrar el método denominado {0} en el objeto de tipo {1} que coincida con la signatura esperada. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - No se puede adjuntar una instancia de Behavior a más de un objeto simultáneamente. - - - Cannot find an event named {0} on type {1}. - No se puede encontrar un evento con el nombre {0} en el tipo {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - No se puede encontrar una propiedad con el nombre {0} en el tipo {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - No se puede asignar un valor del tipo {0} a la propiedad {1} del tipo {2}. A la propiedad {1} solo se le pueden asignar valores del tipo {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - La propiedad {0} definida por el tipo {1} no expone un método establecido y, por lo tanto, no se puede modificar. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - No se admite el evento {0}. Considere implementar un IBehavior personalizado para responder a este evento. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - El destino {0} no define ningún objeto VisualStateGroup. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - La propiedad Binding del tipo {0} no se puede usar con el operador {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - La propiedad Binding del tipo {0} y la propiedad Value del tipo {1} no se pueden usar con el operador {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - La propiedad Value del tipo {0} no se puede usar con el operador {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.fr-FR.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.fr-FR.xlf deleted file mode 100644 index b26d037a..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.fr-FR.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - Impossible de trouver la méthode nommée {0} sur l'objet de type {1} qui correspond à la signature attendue. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - Une instance de Behavior ne peut pas être attachée à plus d'un objet à la fois. - - - Cannot find an event named {0} on type {1}. - Impossible de trouver un événement nommé {0} sur le type {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - Impossible de trouver une propriété nommée {0} sur le type {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - Impossible d'attribuer une valeur de type {0} à la propriété {1} de type {2}. Seules des valeurs de type {2} peuvent être attribuées à la propriété {1}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - La propriété {0} définie par le type {1} n'expose pas une méthode set et ne peut, par conséquent, pas être modifiée. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - L'événement {0} n'est pas pris en charge. Si possible, implémentez un type iBehavior personnalisé pour répondre à cet événement. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - La cible {0} ne définit pas de VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - La propriété de liaison de type {0} ne peut pas être utilisée avec l'opérateur {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - La propriété de liaison de {0} la propriété de valeur de type {1} ne peuvent pas être utilisées avec l'opérateur {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - La propriété de valeur de type {0} ne peut pas être utilisée avec l'opérateur {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.it-IT.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.it-IT.xlf deleted file mode 100644 index d25bcca5..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.it-IT.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - Impossibile trovare il metodo denominato {0} in un oggetto di tipo {1} corrispondente alla firma prevista. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - Impossibile associare l'istanza di un comportamento a più di un oggetto alla volta. - - - Cannot find an event named {0} on type {1}. - Impossibile trovare un evento denominato {0} nel tipo {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - Impossibile trovare una proprietà denominata {0} nel tipo {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - Impossibile assegnare un valore di tipo {0} alla proprietà {1} di tipo {2}. Alla proprietà {1} possono essere assegnati solo valori di tipo {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - La proprietà {0} definita dal tipo {1} non espone un metodo set. Impossibile modificarla. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - L'evento {0} non è supportato. Implementare un elemento IBehavior personalizzato per rispondere a questo evento. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - La destinazione {0} non definisce VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - Impossibile utilizzare la proprietà Binding di tipo {0} con l'operatore {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - Impossibile utilizzare la proprietà Binding di tipo {0} e la proprietà Value di tipo {1} con l'operatore {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - Impossibile utilizzare la proprietà Value di tipo {0} con l'operatore {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ja-JP.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ja-JP.xlf deleted file mode 100644 index 90fe8d11..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ja-JP.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - メソッド {0} が、期待される署名と一致する型 {1} のオブジェクトにありません。 - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - ビヘイビアーのインスタンスは、1 度に複数のオブジェクトに追加することはできません。 - - - Cannot find an event named {0} on type {1}. - 名前が {0} (型 {1}) のイベントが見つかりません。 - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - 名前が {0} (型 {1}) のプロパティが見つかりません。 - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - 型 {0} の値をプロパティ {1} (型 {2}) に割り当てることができません。{1} プロパティは、型 {2} の値にのみ割り当てることができます。 - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - プロパティ {0} (型 {1} で定義) は、set メソッドを提示していないため、修正できません。 - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - イベント {0} はサポートされていません。カスタム IBehavior を実装して、このイベントに応答することを検討してください。 - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - ターゲット {0} は、VisualStateGroups を一切定義していません。 - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - 型 {0} の Binding プロパティは、演算子 {1} と共に使用できません。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - 型 {0} の Binding プロパティと型 {1} の Value プロパティは、演算子 {2} と共に使用できません。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - 型 {0} の Value プロパティは、演算子 {1} と共に使用できません。 - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ko-KR.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ko-KR.xlf deleted file mode 100644 index 1f15a70a..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ko-KR.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - {1} 형식의 개체에서 예상 시그니처와 일치하는 이름이 {0}인 메서드를 찾을 수 없습니다. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - 동작의 인스턴스 하나를 한 번에 둘 이상의 개체에 연결할 수 없습니다. - - - Cannot find an event named {0} on type {1}. - 이름이 {0}인 형식 {1}의 이벤트를 찾을 수 없습니다. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - 이름이 {0}인 형식 {1}의 속성을 찾을 수 없습니다. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - {0} 형식의 값을 {2} 형식의 속성 {1}에 할당할 수 없습니다. {1} 속성에는 {2} 형식의 값만 할당할 수 있습니다. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - {1} 형식으로 정의된 {0} 속성이 set 메서드를 노출하지 않으므로 수정할 수 없습니다. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - {0} 이벤트가 지원되지 않습니다. 이 이벤트에 응답하도록 사용자 지정 IBehavior를 구현해 보십시오. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - 대상 {0}이(가) VisualStateGroups를 정의하지 않습니다. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - {0} 형식의 Binding 속성을 {1} 연산자와 함께 사용할 수 없습니다. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - {0} 형식의 Binding 속성과 {1} 형식의 Value 속성을 {2} 연산자와 함께 사용할 수 없습니다. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - {0} 형식의 Value 속성을 {1} 연산자와 함께 사용할 수 없습니다. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.pt-BR.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.pt-BR.xlf deleted file mode 100644 index 3ab9a723..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.pt-BR.xlf +++ /dev/null @@ -1,69 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - Não é possível encontrar o método de nome {0} no objeto de tipo {1} que corresponda a assinatura esperada. - - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - Não é possível anexar uma instância de Behavior a mais de um objeto simultaneamente. - - - Cannot find an event named {0} on type {1}. - Não é possível encontrar um evento de nome {0} no tipo {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - Não é possível encontrar uma propriedade de nome {0} no tipo {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - Nao é possível atribuir um valor do tipo {0} à propriedade {1} de tipo {2}. A propriedade {1} pode receber somente valores do tipo {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - A propriedade {0} definido pelo tipo {1} não expõe um método set e, portanto, não pode ser modificado. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - Evento {0} não é suportado. Considere a implementação de um IBehavior personalizado para responder a este evento. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - O destino {0} não define qualquer VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - A propriedade Binding do tipo {0} não pode ser usada com o operador {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - A propriedade Binding do tipo {0} e a propriedade Value do tipo {1} não podem ser usadas com o operador {2}. - - - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - A propriedade de valor do tipo {0} não pode ser usada com o operador {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ru-RU.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ru-RU.xlf deleted file mode 100644 index e186028d..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.ru-RU.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - Невозможно найти метод с именем {0} в объекте типа {1}, который соответствовал бы ожидаемой подписи. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - Невозможно прикрепить экземпляр поведения к нескольким объектам одновременно. - - - Cannot find an event named {0} on type {1}. - Невозможно найти событие с именем {0} в типе {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - Невозможно найти свойство с именем {0} в типе {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - Невозможно назначить значение типа {0} свойству {1} типа {2}. Свойству {1} можно назначить только значения типа {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - Свойство {0}, определяемое типом {1}, не предоставляет заданный метод и, следовательно, не может быть изменено. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - Событие {0} не поддерживается. Для отклика на данное событие рекомендуется реализовать пользовательское поведение IBehavior. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - Целевой объект {0} не определяет никаких групп VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - Свойство привязки типа {0} невозможно использовать с оператором {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - Свойство привязки типа {0} и свойство значения типа {1} невозможно использовать с оператором {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - Свойство значения типа {0} невозможно использовать с оператором {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.uk-UA.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.uk-UA.xlf deleted file mode 100644 index 8fcb02ab..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.uk-UA.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - Неможливо знайти метод з ім'ям {0} в об'єкті типу {1}, який відповідав би очікуваному підпису. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - Неможливо прикріпити екземпляр поведінки до декількох об'єктів одночасно. - - - Cannot find an event named {0} on type {1}. - Неможливо знайти подію з ім'ям {0} в типі {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - Неможливо знайти властивість з ім'ям {0} в типі {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - Неможливо призначити значення типу {0} властивості {1} типу {2}. Властивості {1} можна призначити тільки значення типу {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - Властивість {0}, яке визначається типом {1}, не надає заданий метод і, отже, не може бути змінено. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - Подія {0} не підтримується. Для відгуку на дану подію рекомендується реалізувати користувальницьку поведінку IBehavior. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - Цільовий об'єкт {0} не визначає ніяких груп VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - Властивість прив'язки типу {0} неможливо використовувати з оператором {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - Властивість прив'язки типу {0} і властивість значення типу {1} неможливо використовувати з оператором {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - Властивість значення типу {0} неможливо використовувати з оператором {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-CN.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-CN.xlf deleted file mode 100644 index 61726e4c..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-CN.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - 在 {1} 类型的对象上找不到符合正确签名的名为 {0} 的方法。 - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - 行为的实例不能一次附加到多个对象。 - - - Cannot find an event named {0} on type {1}. - 在类型 {1} 上找不到名为 {0} 的事件。 - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - 在类型 {1} 上找不到名为 {0} 的属性。 - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - 无法将 {0} 类型的值赋予 {2} 类型的属性 {1}。{1} 属性只可接受 {2} 类型的赋值。 - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - 类型 {1} 定义的属性 {0} 不 揭示 set 方法,因此不可修改。 - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - 不支持事件 {0}。请考虑实现自定义 IBehavior 以响应此事件。 - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - 目标 {0} 不定义任何 VisualStateGroups。 - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - {0} 类型的 Binding 属性无法用于运算符 {1}。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - {0} 类型的 Binding 属性以及 {1} 类型的 Value 属性无法用于运算符 {2}。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - {0} 类型的 Value 属性无法用于运算符 {1}。 - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-TW.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-TW.xlf deleted file mode 100644 index 966bcb82..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/MultilingualResources/Microsoft.Xaml.Interactions.zh-TW.xlf +++ /dev/null @@ -1,66 +0,0 @@ - - - -
- -
- - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - 在類型 {1} 的物件上找不到符合預期的簽章且名稱為 {0} 的方法。 - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - 無法一次將行為執行個體附加到多個物件。 - - - Cannot find an event named {0} on type {1}. - 在類型 {1} 上找不到名稱為 {0} 的事件。 - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - 在類型 {1} 上找不到名稱為 {0} 的屬性。 - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - 無法將類型 {0} 的值指派給類型 {2} 的屬性 {1}。只有類型 {2} 的值能夠指派給 {1} 屬性。 - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - 類型 {1} 所定義的屬性 {0} 未公開 set 方法,因此無法修改。 - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - 不支援事件 {0}。請考慮實作自訂的 IBehavior 以回應這個事件。 - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - 目標 {0} 未定義任何 VisualStateGroups。 - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - 類型 {0} 的 Binding 屬性無法搭配運算子 {1} 一起使用。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - 類型 {0} 的 Binding 屬性和類型 {1} 的 Value 屬性無法搭配運算子 {2} 一起使用。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - 類型 {0} 的 Value 屬性無法搭配運算子 {1} 一起使用。 - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.cpp deleted file mode 100644 index bd430490..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "NavigateToPageAction.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Markup; -using namespace Windows::UI::Xaml::Media; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Core; - -namespace DependencyProperties -{ - static DependencyProperty^ Parameter = DependencyProperty::Register( - "Parameter", - String::typeid, - NavigateToPageAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ TargetPage = DependencyProperty::Register( - "TargetPage", - Object::typeid, - NavigateToPageAction::typeid, - ref new PropertyMetadata(nullptr)); -} - -DependencyProperty^ NavigateToPageAction::TargetPageProperty::get() -{ - return DependencyProperties::TargetPage; -} - -DependencyProperty^ NavigateToPageAction::ParameterProperty::get() -{ - return DependencyProperties::Parameter; -} - -Object^ NavigateToPageAction::Execute(Object^ sender, Object^ parameter) -{ - if (this->TargetPage == nullptr) - { - return false; - } - - IXamlMetadataProvider^ metadataProvider = safe_cast(Application::Current); - IXamlType^ xamlType = metadataProvider->GetXamlType(this->TargetPage); - if (xamlType == nullptr) - { - return false; - } - - INavigate^ navigateElement = dynamic_cast(Window::Current->Content); - DependencyObject^ senderObject = dynamic_cast(sender); - - // If the sender wasn't an INavigate, then keep looking up the tree from the - // root we were given for another INavigate. - while (senderObject != nullptr && navigateElement == nullptr) - { - navigateElement = dynamic_cast(senderObject); - if (navigateElement == nullptr) - { - senderObject = VisualTreeHelper::GetParent(senderObject); - } - } - - if (navigateElement == nullptr) - { - return false; - } - - Frame^ frame = dynamic_cast(navigateElement); - - if (frame != nullptr) - { - Object^ frameParameter = this->Parameter != nullptr - ? this->Parameter - : parameter; - - return frame->Navigate(xamlType->UnderlyingType, frameParameter); - } - else - { - return navigateElement->Navigate(xamlType->UnderlyingType); - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.h deleted file mode 100644 index ee722bc7..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/NavigateToPageAction.h +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - /// - /// An action that switches the current visual to the specified . - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class NavigateToPageAction sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IAction - { - public: - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ TargetPageProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ ParameterProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets or sets the parameter which will be passed to the Windows::UI::Xaml::Controls::Frame::Navigate(Windows::UI::Xaml::Interop::TypeName, Platfrom::Object^) method. - /// - property ::Platform::Object^ Parameter - { - ::Platform::Object^ get() - { - return safe_cast<::Platform::Object^>(this->GetValue(NavigateToPageAction::ParameterProperty)); - } - - void set(::Platform::Object^ value) - { - this->SetValue(NavigateToPageAction::ParameterProperty, value); - } - } - - /// - /// Gets or sets the fully qualified name of the to navigate to. This is a dependency property. - /// - property::Platform::String^ TargetPage - { - ::Platform::String^ get() - { - return safe_cast<::Platform::String^>(this->GetValue(NavigateToPageAction::TargetPageProperty)); - } - - void set(::Platform::String^ value) - { - this->SetValue(NavigateToPageAction::TargetPageProperty, value); - } - } - - /// - /// Executes the action. - /// - /// The that is passed to the action by the behavior. Generally this is or a target object. - /// The value of this parameter is determined by the caller. - /// True if the navigation to the specified page is successful; else false. - virtual ::Platform::Object^ Execute(::Platform::Object^ sender, ::Platform::Object^ parameter); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.cpp deleted file mode 100644 index 97e87501..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "PlaySoundAction.h" - -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Controls::Primitives; -using namespace Microsoft::Xaml::Interactivity; -using namespace Microsoft::Xaml::Interactions::Media; - -namespace DependencyProperties -{ - static DependencyProperty^ Source = DependencyProperty::Register( - "Source", - String::typeid, - PlaySoundAction::typeid, - ref new PropertyMetadata(nullptr)); - - static DependencyProperty^ Volume = DependencyProperty::Register( - "ControlStoryboardOption", - double::typeid, - PlaySoundAction::typeid, - ref new PropertyMetadata(0.5)); -} - -DependencyProperty^ PlaySoundAction::SourceProperty::get() -{ - return DependencyProperties::Source; -} - -DependencyProperty^ PlaySoundAction::VolumeProperty::get() -{ - return DependencyProperties::Volume; -} - -Object^ PlaySoundAction::Execute(Object^ sender, Object^ parameter) -{ - if (this->Source == nullptr) - { - return false; - } - - Uri^ sourceUri = nullptr; - try - { - sourceUri = ref new Uri(this->Source); - } - catch (Platform::InvalidArgumentException^) - { - } - if (sourceUri == nullptr || sourceUri->Suspicious || wcscmp(sourceUri->SchemeName->Data(), L"ms-appx") != 0) - { - // Impose ms-appx:// scheme if user has specified a relative URI - std::wstring str(L"ms-appx:///"); - str.append(this->Source->Data()); - sourceUri = ref new Uri(StringReference(str.c_str())); - if (sourceUri->Suspicious) - { - return false; - } - } - - this->popup = ref new Popup(); - MediaElement^ mediaElement = ref new MediaElement(); - popup->Child = mediaElement; - - // It is legal (although not advisable) to provide a video file. By setting visibility to collapsed, only the sound track should play. - mediaElement->Visibility = Visibility::Collapsed; - - mediaElement->Source = sourceUri; - mediaElement->Volume = this->Volume; - - mediaElement->MediaEnded += ref new RoutedEventHandler(this, &PlaySoundAction::OnMediaEnded); - mediaElement->MediaFailed += ref new ExceptionRoutedEventHandler(this, &PlaySoundAction::OnMediaFailed); - - this->popup->IsOpen = true; - - return true; -} - -void PlaySoundAction::OnMediaEnded(Object^ sender, RoutedEventArgs^ e) -{ - if (this->popup != nullptr) - { - this->popup->Child = nullptr; - this->popup->IsOpen = false; - this->popup = nullptr; - } -} - -void PlaySoundAction::OnMediaFailed(Object^ sender, ExceptionRoutedEventArgs^ e) -{ - if (this->popup != nullptr) - { - this->popup->Child = nullptr; - this->popup->IsOpen = false; - this->popup = nullptr; - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.h deleted file mode 100644 index 4737a5af..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/PlaySoundAction.h +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Media -{ - /// - /// An action that will play a sound to completion. - /// - /// - /// This action is intended for use with short sound effects that don't need to be stopped or controlled. If you are trying - /// to create a music player or game, it may not meet your needs. - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class PlaySoundAction sealed : ::Windows::UI::Xaml::DependencyObject, ::Microsoft::Xaml::Interactivity::IAction - { - public: - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ SourceProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Identifies the dependency property. - /// - static property::Windows::UI::Xaml::DependencyProperty^ VolumeProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets or sets the location of the sound file. This is used to set the source property of a . This is a dependency property. - /// - /// - /// The sound can be any file format supported by . In the case of a video, it will play only the - /// audio portion. - /// - property ::Platform::String^ Source - { - ::Platform::String^ get() - { - return safe_cast<::Platform::String^>(this->GetValue(PlaySoundAction::SourceProperty)); - } - - void set(::Platform::String^ value) - { - this->SetValue(PlaySoundAction::SourceProperty, value); - } - } - - /// - /// Gets or set the volume of the sound. This is used to set the property of the . This is a dependency property. - /// - /// - /// By default this is set to 0.5. - /// - property double Volume - { - double get() - { - return static_cast(this->GetValue(PlaySoundAction::VolumeProperty)); - } - - void set(double value) - { - this->SetValue(PlaySoundAction::VolumeProperty, value); - } - } - - /// - /// Executes the action. - /// - /// The that is passed to the action by the behavior. Generally this is or a target object. - /// The value of this parameter is determined by the caller. - /// True if is set successfully; else false. - virtual ::Platform::Object^ Execute(::Platform::Object^ sender, ::Platform::Object^ parameter); - - private: - Windows::UI::Xaml::Controls::Primitives::Popup^ popup; - - void OnMediaEnded(::Platform::Object^ sender, ::Windows::UI::Xaml::RoutedEventArgs ^e); - void OnMediaFailed(::Platform::Object ^sender, ::Windows::UI::Xaml::ExceptionRoutedEventArgs ^e); - }; - -}}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ResourceHelper.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ResourceHelper.h deleted file mode 100644 index c45b3907..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/ResourceHelper.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once -#pragma warning(disable: 6298) - -namespace Microsoft { namespace Xaml { namespace Interactions { namespace Core -{ - namespace ResourceHelper - { - inline Platform::String^ GetString(Platform::String^ resourceName) - { - ::Windows::ApplicationModel::Resources::ResourceLoader^ strings = ::Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView("Microsoft.Xaml.Interactions/Strings"); - return strings->GetString(resourceName); - } - - /// - /// The string table is shared between managed and native implementations of the Behaviors SDK. - /// This method is a quick, one parameter only version of string.Format() that uses the {0} syntax for replacement. - /// - inline Platform::String^ GetString(Platform::String^ resourceName, Platform::String^ parameter) - { - Platform::String^ resourceString = ResourceHelper::GetString(resourceName); - - std::wstring message(resourceString->Data()); - size_t firstParen = message.find(L"{"); - if (firstParen < 0) - { - return resourceString; - } - - if (parameter == nullptr || parameter->IsEmpty()) - { - message.erase(firstParen, 3); - } - else - { - message.replace(firstParen, 3, parameter->Data()); - } - - return ref new Platform::String(message.data()); - } - } - -}}}} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/de-DE/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/de-DE/Strings.resw deleted file mode 100644 index 1082a4ad..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/de-DE/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Keine Methode mit der Bezeichnung {0} im Objekt vom Typ {1} gefunden, die mit der erwarteten Signatur übereinstimmt. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - Eine Instanz eines Verhaltens kann nicht mehreren Objekten gleichzeitig angefügt werden. - - - Kein Ereignis mit der Bezeichnung {0} auf Typ {1} gefunden. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Keine Eigenschaft mit der Bezeichnung {0} auf Typ {1} gefunden. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Kann keinen Wert vom Typ {0} zu einer Eigenschaft {1} vom Typ {2} zuweisen. Die Eigenschaft {1} kann nur Werten vom Typ {2} zugewiesen werden. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Die vom Typ {1} definierte Eigenschaft {0} gibt keine Methode zum Festlegen an und kann daher nicht geändert werden. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Ereignis {0} ist nicht unterstützt. Erwägen Sie die Implementierung eines benutzerdefinierten IBehavior, um auf dieses Ereignis zu reagieren. - {0} is the name of an event. - - - Das Ziel {0} definiert keine VisualStateGroups. - {0} is an element name and could be an empty string. - - - Die Bindungseigenschaft vom Typ {0} kann nicht mit dem Operator {1} verwendet werden. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Die Bindungseigenschaft vom Typ {0} und die Werteigenschaft vom Typ {1} können nicht mit dem Operator {2} verwendet werden. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Die Werteigenschaft vom Typ {0} kann nicht mit dem Operator {1} verwendet werden. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/en-US/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/en-US/Strings.resw deleted file mode 100644 index cff1f3e5..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/en-US/Strings.resw +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Cannot find method named {0} on object of type {1} that matches the expected signature. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - An instance of a behavior cannot be attached to more than one object at a time. - - - Cannot find an event named {0} on type {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Cannot find a property named {0} on type {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Cannot assign value of type {0} to property {1} of type {2}. The {1} property can be assigned only values of type {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Property {0} defined by type {1} does not expose a set method and therefore cannot be modified. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Event {0} is not supported. Consider implementing a custom IBehavior to respond to this event. - {0} is the name of an event. - - - Target {0} does not define any VisualStateGroups. - {0} is an element name and could be an empty string. - - - Binding property of type {0} cannot be used with operator {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Binding property of type {0} and Value property of type {1} cannot be used with operator {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Value property of type {0} cannot be used with operator {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/es-ES/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/es-ES/Strings.resw deleted file mode 100644 index 11ac3398..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/es-ES/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - No se puede encontrar el método denominado {0} en el objeto de tipo {1} que coincida con la signatura esperada. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - No se puede adjuntar una instancia de Behavior a más de un objeto simultáneamente. - - - No se puede encontrar un evento con el nombre {0} en el tipo {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - No se puede encontrar una propiedad con el nombre {0} en el tipo {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - No se puede asignar un valor del tipo {0} a la propiedad {1} del tipo {2}. A la propiedad {1} solo se le pueden asignar valores del tipo {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - La propiedad {0} definida por el tipo {1} no expone un método establecido y, por lo tanto, no se puede modificar. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - No se admite el evento {0}. Considere implementar un IBehavior personalizado para responder a este evento. - {0} is the name of an event. - - - El destino {0} no define ningún objeto VisualStateGroup. - {0} is an element name and could be an empty string. - - - La propiedad Binding del tipo {0} no se puede usar con el operador {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - La propiedad Binding del tipo {0} y la propiedad Value del tipo {1} no se pueden usar con el operador {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - La propiedad Value del tipo {0} no se puede usar con el operador {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/fr-FR/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/fr-FR/Strings.resw deleted file mode 100644 index 93df4018..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/fr-FR/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Impossible de trouver la méthode nommée {0} sur l'objet de type {1} qui correspond à la signature attendue. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - Une instance de Behavior ne peut pas être attachée à plus d'un objet à la fois. - - - Impossible de trouver un événement nommé {0} sur le type {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Impossible de trouver une propriété nommée {0} sur le type {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Impossible d'attribuer une valeur de type {0} à la propriété {1} de type {2}. Seules des valeurs de type {2} peuvent être attribuées à la propriété {1}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - La propriété {0} définie par le type {1} n'expose pas une méthode set et ne peut, par conséquent, pas être modifiée. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - L'événement {0} n'est pas pris en charge. Si possible, implémentez un type iBehavior personnalisé pour répondre à cet événement. - {0} is the name of an event. - - - La cible {0} ne définit pas de VisualStateGroups. - {0} is an element name and could be an empty string. - - - La propriété de liaison de type {0} ne peut pas être utilisée avec l'opérateur {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - La propriété de liaison de {0} la propriété de valeur de type {1} ne peuvent pas être utilisées avec l'opérateur {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - La propriété de valeur de type {0} ne peut pas être utilisée avec l'opérateur {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/it-IT/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/it-IT/Strings.resw deleted file mode 100644 index 9e7b7b7b..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/it-IT/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Impossibile trovare il metodo denominato {0} in un oggetto di tipo {1} corrispondente alla firma prevista. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - Impossibile associare l'istanza di un comportamento a più di un oggetto alla volta. - - - Impossibile trovare un evento denominato {0} nel tipo {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Impossibile trovare una proprietà denominata {0} nel tipo {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Impossibile assegnare un valore di tipo {0} alla proprietà {1} di tipo {2}. Alla proprietà {1} possono essere assegnati solo valori di tipo {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - La proprietà {0} definita dal tipo {1} non espone un metodo set. Impossibile modificarla. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - L'evento {0} non è supportato. Implementare un elemento IBehavior personalizzato per rispondere a questo evento. - {0} is the name of an event. - - - La destinazione {0} non definisce VisualStateGroups. - {0} is an element name and could be an empty string. - - - Impossibile utilizzare la proprietà Binding di tipo {0} con l'operatore {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Impossibile utilizzare la proprietà Binding di tipo {0} e la proprietà Value di tipo {1} con l'operatore {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Impossibile utilizzare la proprietà Value di tipo {0} con l'operatore {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ja-JP/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ja-JP/Strings.resw deleted file mode 100644 index c2c76ca4..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ja-JP/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - メソッド {0} が、期待される署名と一致する型 {1} のオブジェクトにありません。 - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - ビヘイビアーのインスタンスは、1 度に複数のオブジェクトに追加することはできません。 - - - 名前が {0} (型 {1}) のイベントが見つかりません。 - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - 名前が {0} (型 {1}) のプロパティが見つかりません。 - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - 型 {0} の値をプロパティ {1} (型 {2}) に割り当てることができません。{1} プロパティは、型 {2} の値にのみ割り当てることができます。 - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - プロパティ {0} (型 {1} で定義) は、set メソッドを提示していないため、修正できません。 - {0} is the name of the property. {1} is the name of the type that defines the property. - - - イベント {0} はサポートされていません。カスタム IBehavior を実装して、このイベントに応答することを検討してください。 - {0} is the name of an event. - - - ターゲット {0} は、VisualStateGroups を一切定義していません。 - {0} is an element name and could be an empty string. - - - 型 {0} の Binding プロパティは、演算子 {1} と共に使用できません。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - 型 {0} の Binding プロパティと型 {1} の Value プロパティは、演算子 {2} と共に使用できません。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - 型 {0} の Value プロパティは、演算子 {1} と共に使用できません。 - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ko-KR/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ko-KR/Strings.resw deleted file mode 100644 index 269e3893..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ko-KR/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - {1} 형식의 개체에서 예상 시그니처와 일치하는 이름이 {0}인 메서드를 찾을 수 없습니다. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - 동작의 인스턴스 하나를 한 번에 둘 이상의 개체에 연결할 수 없습니다. - - - 이름이 {0}인 형식 {1}의 이벤트를 찾을 수 없습니다. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - 이름이 {0}인 형식 {1}의 속성을 찾을 수 없습니다. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - {0} 형식의 값을 {2} 형식의 속성 {1}에 할당할 수 없습니다. {1} 속성에는 {2} 형식의 값만 할당할 수 있습니다. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - {1} 형식으로 정의된 {0} 속성이 set 메서드를 노출하지 않으므로 수정할 수 없습니다. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - {0} 이벤트가 지원되지 않습니다. 이 이벤트에 응답하도록 사용자 지정 IBehavior를 구현해 보십시오. - {0} is the name of an event. - - - 대상 {0}이(가) VisualStateGroups를 정의하지 않습니다. - {0} is an element name and could be an empty string. - - - {0} 형식의 Binding 속성을 {1} 연산자와 함께 사용할 수 없습니다. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - {0} 형식의 Binding 속성과 {1} 형식의 Value 속성을 {2} 연산자와 함께 사용할 수 없습니다. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - {0} 형식의 Value 속성을 {1} 연산자와 함께 사용할 수 없습니다. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/pt-BR/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/pt-BR/Strings.resw deleted file mode 100644 index 23bb4a49..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/pt-BR/Strings.resw +++ /dev/null @@ -1,61 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Não é possível encontrar o método de nome {0} no objeto de tipo {1} que corresponda a assinatura esperada. - - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - Não é possível anexar uma instância de Behavior a mais de um objeto simultaneamente. - - - Não é possível encontrar um evento de nome {0} no tipo {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Não é possível encontrar uma propriedade de nome {0} no tipo {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Nao é possível atribuir um valor do tipo {0} à propriedade {1} de tipo {2}. A propriedade {1} pode receber somente valores do tipo {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - A propriedade {0} definido pelo tipo {1} não expõe um método set e, portanto, não pode ser modificado. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Evento {0} não é suportado. Considere a implementação de um IBehavior personalizado para responder a este evento. - {0} is the name of an event. - - - O destino {0} não define qualquer VisualStateGroups. - {0} is an element name and could be an empty string. - - - A propriedade Binding do tipo {0} não pode ser usada com o operador {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - A propriedade Binding do tipo {0} e a propriedade Value do tipo {1} não podem ser usadas com o operador {2}. - - - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - A propriedade de valor do tipo {0} não pode ser usada com o operador {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ru-RU/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ru-RU/Strings.resw deleted file mode 100644 index 9c2246ee..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/ru-RU/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Невозможно найти метод с именем {0} в объекте типа {1}, который соответствовал бы ожидаемой подписи. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - Невозможно прикрепить экземпляр поведения к нескольким объектам одновременно. - - - Невозможно найти событие с именем {0} в типе {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Невозможно найти свойство с именем {0} в типе {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Невозможно назначить значение типа {0} свойству {1} типа {2}. Свойству {1} можно назначить только значения типа {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Свойство {0}, определяемое типом {1}, не предоставляет заданный метод и, следовательно, не может быть изменено. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Событие {0} не поддерживается. Для отклика на данное событие рекомендуется реализовать пользовательское поведение IBehavior. - {0} is the name of an event. - - - Целевой объект {0} не определяет никаких групп VisualStateGroups. - {0} is an element name and could be an empty string. - - - Свойство привязки типа {0} невозможно использовать с оператором {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Свойство привязки типа {0} и свойство значения типа {1} невозможно использовать с оператором {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Свойство значения типа {0} невозможно использовать с оператором {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/uk-UA/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/uk-UA/Strings.resw deleted file mode 100644 index f006637e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/uk-UA/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Неможливо знайти метод з ім'ям {0} в об'єкті типу {1}, який відповідав би очікуваному підпису. - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - Неможливо прикріпити екземпляр поведінки до декількох об'єктів одночасно. - - - Неможливо знайти подію з ім'ям {0} в типі {1}. - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - Неможливо знайти властивість з ім'ям {0} в типі {1}. - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - Неможливо призначити значення типу {0} властивості {1} типу {2}. Властивості {1} можна призначити тільки значення типу {2}. - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - Властивість {0}, яке визначається типом {1}, не надає заданий метод і, отже, не може бути змінено. - {0} is the name of the property. {1} is the name of the type that defines the property. - - - Подія {0} не підтримується. Для відгуку на дану подію рекомендується реалізувати користувальницьку поведінку IBehavior. - {0} is the name of an event. - - - Цільовий об'єкт {0} не визначає ніяких груп VisualStateGroups. - {0} is an element name and could be an empty string. - - - Властивість прив'язки типу {0} неможливо використовувати з оператором {1}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - Властивість прив'язки типу {0} і властивість значення типу {1} неможливо використовувати з оператором {2}. - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - Властивість значення типу {0} неможливо використовувати з оператором {1}. - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-CN/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-CN/Strings.resw deleted file mode 100644 index c102b6ab..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-CN/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 在 {1} 类型的对象上找不到符合正确签名的名为 {0} 的方法。 - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - 行为的实例不能一次附加到多个对象。 - - - 在类型 {1} 上找不到名为 {0} 的事件。 - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - 在类型 {1} 上找不到名为 {0} 的属性。 - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - 无法将 {0} 类型的值赋予 {2} 类型的属性 {1}。{1} 属性只可接受 {2} 类型的赋值。 - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - 类型 {1} 定义的属性 {0} 不 揭示 set 方法,因此不可修改。 - {0} is the name of the property. {1} is the name of the type that defines the property. - - - 不支持事件 {0}。请考虑实现自定义 IBehavior 以响应此事件。 - {0} is the name of an event. - - - 目标 {0} 不定义任何 VisualStateGroups。 - {0} is an element name and could be an empty string. - - - {0} 类型的 Binding 属性无法用于运算符 {1}。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - {0} 类型的 Binding 属性以及 {1} 类型的 Value 属性无法用于运算符 {2}。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - {0} 类型的 Value 属性无法用于运算符 {1}。 - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-TW/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-TW/Strings.resw deleted file mode 100644 index a1683449..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/Resources/zh-TW/Strings.resw +++ /dev/null @@ -1,58 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 在類型 {1} 的物件上找不到符合預期的簽章且名稱為 {0} 的方法。 - {0} is the name of the method that could not be found. {1} is the name of the type that was searched for the method. - - - 無法一次將行為執行個體附加到多個物件。 - - - 在類型 {1} 上找不到名稱為 {0} 的事件。 - {0} is the EventName property value specified by the user. {1} is the Type we are trying to find an event on. - - - 在類型 {1} 上找不到名稱為 {0} 的屬性。 - {0} is the PropertyName property value specified by the user. {1} is the Type we are trying to find a property on. - - - 無法將類型 {0} 的值指派給類型 {2} 的屬性 {1}。只有類型 {2} 的值能夠指派給 {1} 屬性。 - {0} is the type name of the illegal value, or "null" if value is null. {1} is the name of the property. {2} is the type of the property. - - - 類型 {1} 所定義的屬性 {0} 未公開 set 方法,因此無法修改。 - {0} is the name of the property. {1} is the name of the type that defines the property. - - - 不支援事件 {0}。請考慮實作自訂的 IBehavior 以回應這個事件。 - {0} is the name of an event. - - - 目標 {0} 未定義任何 VisualStateGroups。 - {0} is an element name and could be an empty string. - - - 類型 {0} 的 Binding 屬性無法搭配運算子 {1} 一起使用。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is one of the ComparisonConditionType enum values. - - - 類型 {0} 的 Binding 屬性和類型 {1} 的 Value 屬性無法搭配運算子 {2} 一起使用。 - {0} is the type of the DataTriggerBehavior.Binding property specified by the user. {1} is the type of the DataTriggerBehavior.Value property specified by the user. {2} is one of the ComparisonConditionType enum values. - - - 類型 {0} 的 Value 屬性無法搭配運算子 {1} 一起使用。 - {1} is the type of the DataTriggerBehavior.Value property specified by the user. {1} is one of the ComparisonConditionType enum values. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/packages.config b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/packages.config deleted file mode 100644 index fa60d2ef..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.cpp deleted file mode 100644 index b20b8859..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -// -// pch.cpp -// Include the standard header and generate the precompiled header. -// - -#include "pch.h" diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.h deleted file mode 100644 index 9eb0c315..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/pch.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -// -// pch.h -// Header for standard system include files. -// - -#pragma once -#include -#include \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource.h deleted file mode 100644 index 19c4ef37..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Microsoft.Xaml.Interactions.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource1.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource1.h deleted file mode 100644 index b10e4d53..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/resource1.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Microsoft.Xaml.Interactions1.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/targetver.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/targetver.h deleted file mode 100644 index 3d84dc0f..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactions/targetver.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// Including SDKDDKVer.h defines the highest available Windows platform. - -// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and -// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. - -#include diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.DesignerIsolation.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.DesignerIsolation.cs deleted file mode 100644 index 7a19e0f3..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.DesignerIsolation.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using Microsoft.Xaml.Interactivity; - -namespace Microsoft.Xaml.Interactivity.Design -{ - partial class MetadataTableProvider - { - private void AddAttribute(Type type, Attribute attribute) - { - attributeTableBuilder.AddCustomAttributes(type, attribute); - } - - private void AddAttributes(Type type, params Attribute[] attributes) - { - foreach (Attribute attribute in attributes) - { - AddAttribute(type, attribute); - } - } - - private void AddAttribute(Type type, string propertyName, Attribute attribute) - { - attributeTableBuilder.AddCustomAttributes(type, propertyName, attribute); - } - - private void AddAttributes(Type type, string propertyName, params Attribute[] attributes) - { - foreach (Attribute attribute in attributes) - { - AddAttribute(type, propertyName, attribute); - } - } - - /// - /// This class contains the types used by the older Extensibility APIs. - /// - private static class Targets - { - internal static readonly Type ActionCollection = typeof(ActionCollection); - internal static readonly Type BehaviorCollection = typeof(BehaviorCollection); - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.cs deleted file mode 100644 index 52334e84..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/MetadataTableProvider.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.ComponentModel; - -#if SurfaceIsolation -using Microsoft.VisualStudio.DesignTools.Extensibility; -using Microsoft.Xaml.Interactivity.Design.Properties; -using Microsoft.VisualStudio.DesignTools.Extensibility.Metadata; -#else -using Microsoft.Windows.Design; -using Microsoft.Windows.Design.Metadata; -using Microsoft.Xaml.Interactivity.Design.Properties; -#endif - -[assembly: ProvideMetadata(typeof(Microsoft.Xaml.Interactivity.Design.MetadataTableProvider))] - -// Please note that both the .Design and .DesignTools project -// use the same namespace: Microsoft.Xaml.Interactivity.Design -namespace Microsoft.Xaml.Interactivity.Design -{ - partial class MetadataTableProvider : IProvideAttributeTable - { - private AttributeTableBuilder attributeTableBuilder; - - public AttributeTable AttributeTable - { - get - { - if (attributeTableBuilder == null) - { - attributeTableBuilder = new AttributeTableBuilder(); - } - - AddAttributes(Targets.ActionCollection, new CategoryAttribute(Resources.Category_Name_Actions)); - AddAttributes(Targets.BehaviorCollection, new ToolboxBrowsableAttribute(false)); - - return attributeTableBuilder.CreateTable(); - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Microsoft.Xaml.Interactivity.Design.csproj b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Microsoft.Xaml.Interactivity.Design.csproj deleted file mode 100644 index b1787082..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Microsoft.Xaml.Interactivity.Design.csproj +++ /dev/null @@ -1,143 +0,0 @@ - - - - - Debug - AnyCPU - {76BF4E75-B1E7-4BFA-AE67-BAF6800DAC78} - library - Properties - Microsoft.Xaml.Interactivity.Design - Microsoft.Xaml.Interactivity.Design - v4.7.2 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - 10.0 - - - - - true - full - false - DEBUG;TRACE - prompt - 4 - x86 - - - pdbonly - true - TRACE - prompt - 4 - x86 - - - true - - - ..\..\..\key\Behaviors.snk - - - true - - - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - 4.0 - - - - - - - - $(ProgramFiles)\Windows Kits\10\References\Windows.Foundation.FoundationContract\1.0.0.0\Windows.Foundation.FoundationContract.winmd - WindowsRuntime - False - - - $(ProgramFiles)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\1.0.0.0\Windows.Foundation.UniversalApiContract.winmd - WindowsRuntime - False - - - False - $(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.InteropServices.WindowsRuntime.dll - WindowsRuntime - False - - - False - $(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll - WindowsRuntime - False - - - False - $(ProgramFiles)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.UI.Xaml.dll - WindowsRuntime - False - - - - - - - Code - - - Code - - - True - True - Resources.resx - - - True - Settings.settings - True - - - ResXFileCodeGenerator - Resources.Designer.cs - Microsoft.Xaml.Interactivity.Design.Properties - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - {721b956c-043c-4658-8aa7-d72fd5f112bf} - Microsoft.Xaml.Interactivity - - - - - 1.0.0 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/AssemblyInfo.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/AssemblyInfo.cs deleted file mode 100644 index a688d62f..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using System.Windows; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Microsoft.Xaml.Interactivity.Design")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Microsoft.Xaml.Interactivity.Design")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2015-2022")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -//In order to begin building localizable applications, set -//CultureYouAreCodingWith in your .csproj file -//inside a . For example, if you are using US english -//in your source files, set the to en-US. Then uncomment -//the NeutralResourceLanguage attribute below. Update the "en-US" in -//the line below to match the UICulture setting in the project file. - -//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] - - -[assembly:ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/DesignTools.Resources.Designer.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/DesignTools.Resources.Designer.cs deleted file mode 100644 index b9399163..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/DesignTools.Resources.Designer.cs +++ /dev/null @@ -1,72 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Xaml.Interactivity.Design.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Xaml.Interactivity.DesignTools.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Actions. - /// - internal static string Category_Name_Actions { - get { - return ResourceManager.GetString("Category_Name_Actions", resourceCulture); - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.Designer.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.Designer.cs deleted file mode 100644 index 3eb65d1b..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.Designer.cs +++ /dev/null @@ -1,72 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Xaml.Interactivity.Design.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Xaml.Interactivity.Design.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Actions. - /// - internal static string Category_Name_Actions { - get { - return ResourceManager.GetString("Category_Name_Actions", resourceCulture); - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.resx b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.resx deleted file mode 100644 index 448cb963..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Resources.resx +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Actions - The name in the property inspector for the category that shows Windows XAML ActionCollections. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.Designer.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.Designer.cs deleted file mode 100644 index b51af54e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Xaml.Interactivity.Design.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.settings b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.settings deleted file mode 100644 index 033d7a5e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.Design/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/MetadataTableProvider.SurfaceIsolation.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/MetadataTableProvider.SurfaceIsolation.cs deleted file mode 100644 index 611ce3aa..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/MetadataTableProvider.SurfaceIsolation.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; - -namespace Microsoft.Xaml.Interactivity.Design -{ - partial class MetadataTableProvider - { - private void AddAttributes(string typeIdentifier, params Attribute[] attributes) - { - attributeTableBuilder.AddCustomAttributes(typeIdentifier, attributes); - } - - private void AddAttributes(string typeIdentifier, string propertyName, params Attribute[] attributes) - { - attributeTableBuilder.AddCustomAttributes(typeIdentifier, propertyName, attributes); - } - - /// - /// This class contains the type names required by the new Extensibility APIs. - /// - private static class Targets - { - private const string coreNS = "Microsoft.Xaml.Interactivity."; - - internal const string ActionCollection = coreNS + "ActionCollection"; - internal const string BehaviorCollection = coreNS + "BehaviorCollection"; - } - } -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Microsoft.Xaml.Interactivity.DesignTools.csproj b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Microsoft.Xaml.Interactivity.DesignTools.csproj deleted file mode 100644 index d9e6eb8d..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Microsoft.Xaml.Interactivity.DesignTools.csproj +++ /dev/null @@ -1,84 +0,0 @@ - - - - - Debug - AnyCPU - {F6591D97-2201-4F7A-BAB6-D43D409EF5EA} - Library - Properties - Microsoft.Xaml.Interactivity.DesignTools - Microsoft.Xaml.Interactivity.DesignTools - v4.7.2 - 512 - true - - - true - full - false - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - TRACE - prompt - 4 - - - $(DefineConstants);SurfaceIsolation - - - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - MetadataTableProvider.cs - - - Properties\DesignTools.Resources.Designer.cs - True - True - Resources.resx - - - - - - - Properties\Resources.resx - Microsoft.Xaml.Interactivity.Design.Properties - ResXFileCodeGenerator - DesignTools.Resources.Designer.cs - - - - - 16.4.29519.181 - - - - - 1.0.0 - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Properties/AssemblyInfo.cs b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Properties/AssemblyInfo.cs deleted file mode 100644 index 0b2d860b..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity.DesignTools/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("Microsoft.Xaml.Interactivity.DesignTools")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Microsoft.Xaml.Interactivity.DesignTools")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2015-2022")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.cpp deleted file mode 100644 index 2b4e2634..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "ActionCollection.h" -#include "IAction.h" -#include "ResourceHelper.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::Foundation::Collections; -using namespace Microsoft::Xaml::Interactivity; - -ActionCollection::ActionCollection() -{ - this->VectorChanged += ref new VectorChangedEventHandler(this, &ActionCollection::OnVectorChanged); -} - -void ActionCollection::OnVectorChanged(IObservableVector^ sender, IVectorChangedEventArgs^ eventArgs) -{ - CollectionChange collectionChange = eventArgs->CollectionChange; - - if (collectionChange == CollectionChange::Reset) - { - for (const auto& item : this) - { - ActionCollection::VerifyType(item); - } - } - else if (collectionChange == CollectionChange::ItemInserted || collectionChange == CollectionChange::ItemChanged) - { - auto changedItem = this->GetAt(eventArgs->Index); - ActionCollection::VerifyType(changedItem); - } -} - -void ActionCollection::VerifyType(DependencyObject^ item) -{ - IAction^ action = dynamic_cast(item); - - if (action == nullptr) - { - throw ref new FailureException(ResourceHelper::GetString("NonActionAddedToActionCollectionExceptionMessage")); - } -} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.h deleted file mode 100644 index 147ba148..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ActionCollection.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - /// - /// Represents a collection of IActions. - /// - public ref class ActionCollection sealed : ::Windows::UI::Xaml::DependencyObjectCollection - { - public: - /// - /// Initializes a new instance of the class. - /// - ActionCollection(); - - private: - void OnVectorChanged( - ::Windows::Foundation::Collections::IObservableVector<::Windows::UI::Xaml::DependencyObject^>^ sender, - ::Windows::Foundation::Collections::IVectorChangedEventArgs^ eventArgs); - - static void VerifyType(::Windows::UI::Xaml::DependencyObject^ item); - }; - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.cpp deleted file mode 100644 index 11c2c01d..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.cpp +++ /dev/null @@ -1,179 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "BehaviorCollection.h" -#include "IBehavior.h" -#include "ResourceHelper.h" - -using namespace Platform; -using namespace Platform::Collections; -using namespace Windows::UI::Xaml; -using namespace Microsoft::Xaml::Interactivity; -using namespace Windows::Foundation::Collections; - -BehaviorCollection::BehaviorCollection() -{ - this->associatedObject = nullptr; - this->VectorChanged += ref new VectorChangedEventHandler(this, &BehaviorCollection::OnVectorChanged); -} - -BehaviorCollection::~BehaviorCollection() -{ - this->Detach(); -} - -void BehaviorCollection::OnVectorChanged(IObservableVector^ sender, IVectorChangedEventArgs^ eventArgs) -{ - if (eventArgs->CollectionChange == CollectionChange::Reset) - { - for (auto& behavior : this->oldCollection) - { - if (behavior->AssociatedObject != nullptr) - { - behavior->Detach(); - } - } - - this->oldCollection.clear(); - this->oldCollection.reserve(this->Size); - - for (const auto& newItem : this) - { - this->oldCollection.push_back(this->VerifiedAttach(newItem)); - } - -#if _DEBUG - this->VerifyOldCollectionIntegrity(); -#endif - - return; - } - - unsigned int eventIndex = eventArgs->Index; - DependencyObject^ changedItem = this->GetAt(eventIndex); - - switch (eventArgs->CollectionChange) - { - case CollectionChange::ItemInserted: - { - this->oldCollection.insert(oldCollection.begin() + eventIndex, this->VerifiedAttach(changedItem)); - } - break; - - case CollectionChange::ItemChanged: - { - IBehavior^ oldItem = this->oldCollection[eventIndex]; - if (oldItem->AssociatedObject != nullptr) - { - oldItem->Detach(); - } - - this->oldCollection[eventIndex] = this->VerifiedAttach(changedItem); - } - break; - - case CollectionChange::ItemRemoved: - { - IBehavior^ oldItem = this->oldCollection[eventIndex]; - if (oldItem->AssociatedObject != nullptr) - { - oldItem->Detach(); - } - - this->oldCollection.erase(oldCollection.begin() + eventIndex); - } - break; - - default: - _ASSERT(false); - break; - } - -#if _DEBUG - this->VerifyOldCollectionIntegrity(); -#endif -} - -void BehaviorCollection::Attach(DependencyObject^ associatedObject) -{ - if (associatedObject == this->AssociatedObject) - { - return; - } - - if (Windows::ApplicationModel::DesignMode::DesignModeEnabled) - { - return; - } - - if (this->AssociatedObject != nullptr) - { - throw ref new FailureException(ResourceHelper::GetString("CannotAttachBehaviorMultipleTimesExceptionMessage")); - } - - _ASSERT(associatedObject != nullptr); - this->associatedObject = associatedObject; - - for (DependencyObject^ item : this) - { - IBehavior^ behaviorItem = safe_cast(item); - behaviorItem->Attach(this->AssociatedObject); - } -} - -void BehaviorCollection::Detach() -{ - for (auto& item : this->oldCollection) - { - if (item->AssociatedObject != nullptr) - { - item->Detach(); - } - } - - this->oldCollection.clear(); - - this->associatedObject = nullptr; -} - -IBehavior^ BehaviorCollection::VerifiedAttach(DependencyObject^ item) -{ - IBehavior^ behavior = dynamic_cast(item); - if (behavior == nullptr) - { - throw ref new FailureException(ResourceHelper::GetString("NonBehaviorAddedToBehaviorCollectionExceptionMessage")); - } - - auto found = std::find(begin(this->oldCollection), end(this->oldCollection), behavior); - if (found != this->oldCollection.end()) - { - throw ref new FailureException(ResourceHelper::GetString("DuplicateBehaviorInCollectionExceptionMessage")); - } - - if (this->AssociatedObject != nullptr) - { - behavior->Attach(this->AssociatedObject); - } - - return behavior; -} - -#if _DEBUG -void BehaviorCollection::VerifyOldCollectionIntegrity() -{ - bool isValid = (this->Size == this->oldCollection.size()); - if (isValid) - { - for (unsigned int i = 0; i < this->Size; i++) - { - if (safe_cast(this->GetAt(i)) != this->oldCollection[i]) - { - isValid = false; - break; - } - } - } - - _ASSERT(isValid); -} -#endif \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.h deleted file mode 100644 index bd20d8e9..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/BehaviorCollection.h +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once -#include "IBehavior.h" - -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - /// - /// Represents a collection of IBehaviors with a shared . - /// - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class BehaviorCollection sealed : ::Windows::UI::Xaml::DependencyObjectCollection - { - public: - /// - /// Initializes a new instance of the class. - /// - BehaviorCollection(); - - /// - /// Gets the to which the is attached. - /// - property ::Windows::UI::Xaml::DependencyObject^ AssociatedObject - { - ::Windows::UI::Xaml::DependencyObject^ get() - { - return this->associatedObject.Resolve(); - } - } - - /// - /// Attaches the collection of behaviors to the specified . - /// - /// The to which to attach. - /// The is already attached to a different . - void Attach(::Windows::UI::Xaml::DependencyObject^ associatedObject); - - /// - /// Detaches the collection of behaviors from the . - /// - void Detach(); - - private: - ~BehaviorCollection(); - - // After a VectorChanged event we need to compare the current state of the collection - // with the old collection so that we can call Detach on all removed items. - std::vector oldCollection; - ::Platform::WeakReference associatedObject; - - void OnVectorChanged( - ::Windows::Foundation::Collections::IObservableVector<::Windows::UI::Xaml::DependencyObject^>^ sender, - ::Windows::Foundation::Collections::IVectorChangedEventArgs^ eventArgs); - - IBehavior^ VerifiedAttach(::Windows::UI::Xaml::DependencyObject^ item); - -#if _DEBUG - void VerifyOldCollectionIntegrity(); -#endif - }; - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IAction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IAction.h deleted file mode 100644 index 7804c93e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IAction.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -#include "IBehavior.h" - -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - /// - /// Interface implemented by all custom actions. - /// - [::Windows::Foundation::Metadata::WebHostHidden] - public interface class IAction - { - /// - /// Executes the action. - /// - /// The that is passed to the action by the behavior. Generally this is or a target object. - /// The value of this parameter is determined by the caller. - /// An example of parameter usage is EventTriggerBehavior, which passes the EventArgs as a parameter to its actions. - /// Returns the result of the action. - ::Platform::Object^ Execute(::Platform::Object^ sender, ::Platform::Object^ parameter); - }; - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IBehavior.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IBehavior.h deleted file mode 100644 index 0fc5ec92..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/IBehavior.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - /// - /// Interface implemented by all custom behaviors. - /// - [::Windows::Foundation::Metadata::WebHostHidden] - public interface class IBehavior - { - /// - /// Gets the to which the is attached. - /// - property ::Windows::UI::Xaml::DependencyObject^ AssociatedObject - { - ::Windows::UI::Xaml::DependencyObject^ get(); - } - - /// - /// Attaches to the specified object. - /// - /// The to which the will be attached. - void Attach(::Windows::UI::Xaml::DependencyObject^ associatedObject); - - /// - /// Detaches this instance from its associated object. - /// - void Detach(); - }; - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.cpp deleted file mode 100644 index 45886468..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.cpp +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#include "pch.h" -#include "Interaction.h" -#include "BehaviorCollection.h" -#include "IAction.h" - -using namespace Platform; -using namespace Platform::Collections; -using namespace Windows::Foundation::Collections; -using namespace Windows::UI::Xaml; -using namespace Microsoft::Xaml::Interactivity; - -namespace DependencyProperties -{ - static DependencyProperty^ Behaviors = DependencyProperty::RegisterAttached( - "Behaviors", - BehaviorCollection::typeid, - Interaction::typeid, - ref new PropertyMetadata(nullptr, ref new PropertyChangedCallback(&Interaction::OnBehaviorsChanged))); -} - -void Interaction::OnBehaviorsChanged(DependencyObject^ sender, DependencyPropertyChangedEventArgs^ args) -{ - BehaviorCollection^ oldCollection = safe_cast(args->OldValue); - BehaviorCollection^ newCollection = safe_cast(args->NewValue); - - if (oldCollection == newCollection) - { - return; - } - - if (oldCollection != nullptr && oldCollection->AssociatedObject != nullptr) - { - oldCollection->Detach(); - } - - if (newCollection != nullptr && sender != nullptr) - { - newCollection->Attach(sender); - } -} - -DependencyProperty^ Interaction::BehaviorsProperty::get() -{ - return DependencyProperties::Behaviors; -} - -IIterable^ Interaction::ExecuteActions(Object^ sender, ActionCollection^ actions, Object^ parameter) -{ - if (actions == nullptr || Windows::ApplicationModel::DesignMode::DesignModeEnabled) - { - return ref new Vector(); - } - - std::vector results; - for (auto& dependencyObject : actions) - { - IAction^ action = safe_cast(static_cast(dependencyObject)); - results.push_back(action->Execute(sender, parameter)); - } - - return ref new Vector(std::move(results)); -} - -BehaviorCollection^ Interaction::GetBehaviors(DependencyObject^ obj) -{ - if (obj == nullptr) - { - #pragma warning(suppress: 6298) - throw ref new InvalidArgumentException("obj"); - } - - BehaviorCollection^ behaviors = safe_cast(obj->GetValue(Interaction::BehaviorsProperty)); - if (behaviors == nullptr) - { - behaviors = ref new BehaviorCollection(); - Interaction::SetBehaviors(obj, behaviors); - } - - return behaviors; -} - -void Interaction::SetBehaviors(DependencyObject^ obj, BehaviorCollection^ value) -{ - if (obj == nullptr) - { - #pragma warning(suppress: 6298) - throw ref new InvalidArgumentException("obj"); - } - - obj->SetValue(Interaction::BehaviorsProperty, value); -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.h deleted file mode 100644 index 465ed567..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Interaction.h +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once -#include "BehaviorCollection.h" -#include "ActionCollection.h" - -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - /// - /// Defines a attached property and provides a method for executing an . - /// - [::Windows::UI::Xaml::Data::Bindable] - [::Windows::Foundation::Metadata::WebHostHidden] - public ref class Interaction sealed - { - private: - Interaction() {}; - - public: - /// - /// Gets or sets the associated with a specified object. - /// - static property ::Windows::UI::Xaml::DependencyProperty^ BehaviorsProperty - { - ::Windows::UI::Xaml::DependencyProperty^ get(); - } - - /// - /// Gets the associated with a specified object. - /// - /// The from which to retrieve the . - /// A containing the behaviors associated with the specified object. - static BehaviorCollection^ GetBehaviors(::Windows::UI::Xaml::DependencyObject^ obj); - - /// - /// Sets the associated with a specified object. - /// - /// The on which to set the . - /// The associated with the object. - static void SetBehaviors(::Windows::UI::Xaml::DependencyObject^ obj, BehaviorCollection^ value); - - /// - /// Executes all actions in the and returns their results. - /// - /// The which will be passed on to the action. - /// The set of actions to execute. - /// The value of this parameter is determined by the calling behavior. - /// Returns the results of the actions. - static ::Windows::Foundation::Collections::IIterable<::Platform::Object^>^ ExecuteActions(::Platform::Object^ sender, ActionCollection^ actions, ::Platform::Object^ parameter); - - internal: - static void OnBehaviorsChanged(::Windows::UI::Xaml::DependencyObject^ sender, ::Windows::UI::Xaml::DependencyPropertyChangedEventArgs^ args); - }; - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.cpp deleted file mode 100644 index a01b5256..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "pch.h" -#include "Microsoft.Xaml.Interactivity.h" - -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.h deleted file mode 100644 index 603b44f6..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj deleted file mode 100644 index 3a078eb9..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj +++ /dev/null @@ -1,351 +0,0 @@ - - - - - 4.0 - en-US - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {721b956c-043c-4658-8aa7-d72fd5f112bf} - DynamicLibrary - Microsoft.Xaml.Interactivity - Microsoft.Xaml.Interactivity - en-US - 14.0 - true - Windows Store - 10.0.19041.0 - 10.0.10240.0 - 10.0 - true - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\$(ProjectName)\ - x86|x64|arm - - - - DynamicLibrary - true - v142 - - - DynamicLibrary - true - v142 - - - DynamicLibrary - true - v142 - - - DynamicLibrary - true - v142 - - - DynamicLibrary - false - true - v142 - - - DynamicLibrary - false - true - v142 - - - DynamicLibrary - false - true - v142 - - - DynamicLibrary - false - true - v142 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - true - - - false - true - - - false - true - - - false - true - - - false - true - - - false - true - - - false - true - - - false - true - - - - Use - _WINRT_DLL;%(PreprocessorDefinitions) - true - - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - Use - true - _WINRT_DLL;%(PreprocessorDefinitions) - Guard - - - - Console - false - true - $(OutDir)$(RootNamespace).winmd - - - - - - - - - - - - - - - - - - - - - - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj.filters b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj.filters deleted file mode 100644 index 9ac052dc..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Microsoft.Xaml.Interactivity.vcxproj.filters +++ /dev/null @@ -1,68 +0,0 @@ - - - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms - - - {e3612b44-636f-480d-b6e3-e66a155376d5} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resource Files - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.de-DE.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.de-DE.xlf deleted file mode 100644 index 01bbf83b..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.de-DE.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - Eine Instanz eines Verhaltens kann nicht mehreren Objekten gleichzeitig angefügt werden. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - Eine Instanz eines Verhaltens kann einer BehaviorCollection höchstens einmal hinzugefügt werden. - - - Only IAction types are supported in an ActionCollection. - Nur IAction-Typen werden in einer ActionCollection unterstützt. - - - Only IBehavior types are supported in a BehaviorCollection. - Nur IBehavior-Typen werden in einer BehaviorCollection unterstützt. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.es-ES.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.es-ES.xlf deleted file mode 100644 index 85ece168..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.es-ES.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - No se puede adjuntar una instancia de Behavior a más de un objeto simultáneamente. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - No se puede agregar una instancia de Behavior a un BehaviorCollection más de una vez. - - - Only IAction types are supported in an ActionCollection. - Solo se admiten tipos IAction en ActionCollection. - - - Only IBehavior types are supported in a BehaviorCollection. - Solo se admiten tipos IBehavior en BehaviorCollection. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.fr-FR.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.fr-FR.xlf deleted file mode 100644 index a9cd5db9..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.fr-FR.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - Une instance de Behavior ne peut pas être attachée à plus d'un objet à la fois. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - Impossible d'ajouter à plusieurs reprises une instance de Behavior à une BehaviorCollection. - - - Only IAction types are supported in an ActionCollection. - Seuls les types IAction sont pris en charge dans une ActionCollection. - - - Only IBehavior types are supported in a BehaviorCollection. - Seuls les types IBehavior sont pris en charge dans une BehaviorCollection. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.it-IT.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.it-IT.xlf deleted file mode 100644 index 5056177f..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.it-IT.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - Impossibile associare l'istanza di un comportamento a più di un oggetto alla volta. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - Impossibile aggiungere l'istanza di un comportamento a BehaviorCollection più di una volta. - - - Only IAction types are supported in an ActionCollection. - Solo i tipi IAction sono supportati in ActionCollection. - - - Only IBehavior types are supported in a BehaviorCollection. - Solo i tipi IBehavior sono supportati in BehaviorCollection. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ja-JP.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ja-JP.xlf deleted file mode 100644 index 7c047a2d..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ja-JP.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - ビヘイビアーのインスタンスは、1 度に複数のオブジェクトに追加することはできません。 - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - ビヘイビアーのインスタンスを BehaviorCollection に複数回追加することはできません。 - - - Only IAction types are supported in an ActionCollection. - ActionCollection では IAction 型のみサポートされます。 - - - Only IBehavior types are supported in a BehaviorCollection. - BehaviorCollection では IBehavior 型のみサポートされます。 - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ko-KR.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ko-KR.xlf deleted file mode 100644 index 0cd4faa7..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ko-KR.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - 동작의 인스턴스 하나를 한 번에 둘 이상의 개체에 연결할 수 없습니다. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - 동작의 인스턴스 하나를 BehaviorCollection에 두 번 이상 추가할 수 없습니다. - - - Only IAction types are supported in an ActionCollection. - ActionCollection에서 IAction 형식만 지원됩니다. - - - Only IBehavior types are supported in a BehaviorCollection. - BehaviorCollection에서 IBehavior 형식만 지원됩니다. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.pt-BR.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.pt-BR.xlf deleted file mode 100644 index 4d0ce869..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.pt-BR.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - Uma instância de um behavior não pode ser anexada a mais de um objeto simultaneamente. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - Não é possível adicionar uma instância de um behavior à um BehaviorCollection mais de uma vez. - - - Only IAction types are supported in an ActionCollection. - Somente tipos de IAction são suportados em um ActionCollection. - - - Only IBehavior types are supported in a BehaviorCollection. - Somente tipos de IBehavior são suportados em um BehaviorCollection. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ru-RU.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ru-RU.xlf deleted file mode 100644 index 09a4c24e..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.ru-RU.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - Невозможно прикрепить экземпляр поведения к нескольким объектам одновременно. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - Невозможно добавить экземпляр поведения в коллекцию BehaviorCollection более одного раза. - - - Only IAction types are supported in an ActionCollection. - В коллекции ActionCollection поддерживаются только типы IAction. - - - Only IBehavior types are supported in a BehaviorCollection. - В коллекции BehaviorCollection поддерживаются только типы IBehavior. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.uk-UA.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.uk-UA.xlf deleted file mode 100644 index 18b39a27..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.uk-UA.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - Неможливо прикріпити екземпляр поведінки до декількох об'єктів одночасно. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - Неможливо додати екземпляр поведінки в колекцію BehaviorCollection більше одного разу. - - - Only IAction types are supported in an ActionCollection. - В колекції ActionCollection підтримуються тільки типи Action. - - - Only IBehavior types are supported in a BehaviorCollection. - В колекції BehaviorCollection підтримуються тільки типи Behavior. - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-CN.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-CN.xlf deleted file mode 100644 index c30307b9..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-CN.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - 行为的实例不能一次附加到多个对象。 - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - 不能多次将行为的实例添加到 BehaviorCollection。 - - - Only IAction types are supported in an ActionCollection. - 在 ActionCollection 中只支持 IAction 类型。 - - - Only IBehavior types are supported in a BehaviorCollection. - 在 BehaviorCollection 中只支持 IBehavior 类型。 - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-TW.xlf b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-TW.xlf deleted file mode 100644 index f4f480aa..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/MultilingualResources/Microsoft.Xaml.Interactivity.zh-TW.xlf +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- -
- - - - An instance of a behavior cannot be attached to more than one object at a time. - 無法一次將行為執行個體附加到多個物件。 - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - 無法重複將行為執行個體加到 BehaviorCollection。 - - - Only IAction types are supported in an ActionCollection. - ActionCollection 只支援 IAction 類型。 - - - Only IBehavior types are supported in a BehaviorCollection. - BehaviorCollection 只支援 IBehavior 類型。 - - - -
-
\ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ResourceHelper.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ResourceHelper.h deleted file mode 100644 index 45186719..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/ResourceHelper.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once -#pragma warning(disable: 6298) -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - namespace ResourceHelper - { - inline Platform::String^ GetString(Platform::String^ resourceName) - { - Windows::ApplicationModel::Resources::ResourceLoader^ strings = Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView("Microsoft.Xaml.Interactivity/Resources"); - return strings->GetString(resourceName); - } - } - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/de-DE/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/de-DE/Strings.resw deleted file mode 100644 index ad19ff15..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/de-DE/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Eine Instanz eines Verhaltens kann nicht mehreren Objekten gleichzeitig angefügt werden. - - - Eine Instanz eines Verhaltens kann einer BehaviorCollection höchstens einmal hinzugefügt werden. - - - Nur IAction-Typen werden in einer ActionCollection unterstützt. - - - Nur IBehavior-Typen werden in einer BehaviorCollection unterstützt. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/en-US/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/en-US/Strings.resw deleted file mode 100644 index d083a5bc..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/en-US/Strings.resw +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - An instance of a behavior cannot be attached to more than one object at a time. - - - Cannot add an instance of a behavior to a BehaviorCollection more than once. - - - Only IAction types are supported in an ActionCollection. - - - Only IBehavior types are supported in a BehaviorCollection. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/es-ES/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/es-ES/Strings.resw deleted file mode 100644 index 4ed70820..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/es-ES/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - No se puede adjuntar una instancia de Behavior a más de un objeto simultáneamente. - - - No se puede agregar una instancia de Behavior a un BehaviorCollection más de una vez. - - - Solo se admiten tipos IAction en ActionCollection. - - - Solo se admiten tipos IBehavior en BehaviorCollection. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/fr-FR/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/fr-FR/Strings.resw deleted file mode 100644 index 6f7f7cf8..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/fr-FR/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Une instance de Behavior ne peut pas être attachée à plus d'un objet à la fois. - - - Impossible d'ajouter à plusieurs reprises une instance de Behavior à une BehaviorCollection. - - - Seuls les types IAction sont pris en charge dans une ActionCollection. - - - Seuls les types IBehavior sont pris en charge dans une BehaviorCollection. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/it-IT/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/it-IT/Strings.resw deleted file mode 100644 index 7be34687..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/it-IT/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Impossibile associare l'istanza di un comportamento a più di un oggetto alla volta. - - - Impossibile aggiungere l'istanza di un comportamento a BehaviorCollection più di una volta. - - - Solo i tipi IAction sono supportati in ActionCollection. - - - Solo i tipi IBehavior sono supportati in BehaviorCollection. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ja-JP/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ja-JP/Strings.resw deleted file mode 100644 index 648544ed..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ja-JP/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ビヘイビアーのインスタンスは、1 度に複数のオブジェクトに追加することはできません。 - - - ビヘイビアーのインスタンスを BehaviorCollection に複数回追加することはできません。 - - - ActionCollection では IAction 型のみサポートされます。 - - - BehaviorCollection では IBehavior 型のみサポートされます。 - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ko-KR/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ko-KR/Strings.resw deleted file mode 100644 index 0151bdc5..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ko-KR/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 동작의 인스턴스 하나를 한 번에 둘 이상의 개체에 연결할 수 없습니다. - - - 동작의 인스턴스 하나를 BehaviorCollection에 두 번 이상 추가할 수 없습니다. - - - ActionCollection에서 IAction 형식만 지원됩니다. - - - BehaviorCollection에서 IBehavior 형식만 지원됩니다. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/pt-BR/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/pt-BR/Strings.resw deleted file mode 100644 index bcaac917..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/pt-BR/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Uma instância de um behavior não pode ser anexada a mais de um objeto simultaneamente. - - - Não é possível adicionar uma instância de um behavior à um BehaviorCollection mais de uma vez. - - - Somente tipos de IAction são suportados em um ActionCollection. - - - Somente tipos de IBehavior são suportados em um BehaviorCollection. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ru-RU/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ru-RU/Strings.resw deleted file mode 100644 index 02a075fc..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/ru-RU/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Невозможно прикрепить экземпляр поведения к нескольким объектам одновременно. - - - Невозможно добавить экземпляр поведения в коллекцию BehaviorCollection более одного раза. - - - В коллекции ActionCollection поддерживаются только типы IAction. - - - В коллекции BehaviorCollection поддерживаются только типы IBehavior. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/uk-UA/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/uk-UA/Strings.resw deleted file mode 100644 index 8a3e64fd..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/uk-UA/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Неможливо прикріпити екземпляр поведінки до декількох об'єктів одночасно. - - - Неможливо додати екземпляр поведінки в колекцію BehaviorCollection більше одного разу. - - - В колекції ActionCollection підтримуються тільки типи Action. - - - В колекції BehaviorCollection підтримуються тільки типи Behavior. - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-CN/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-CN/Strings.resw deleted file mode 100644 index a34a9b3c..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-CN/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 行为的实例不能一次附加到多个对象。 - - - 不能多次将行为的实例添加到 BehaviorCollection。 - - - 在 ActionCollection 中只支持 IAction 类型。 - - - 在 BehaviorCollection 中只支持 IBehavior 类型。 - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-TW/Strings.resw b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-TW/Strings.resw deleted file mode 100644 index fc67f498..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/Resources/zh-TW/Strings.resw +++ /dev/null @@ -1,27 +0,0 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 無法一次將行為執行個體附加到多個物件。 - - - 無法重複將行為執行個體加到 BehaviorCollection。 - - - ActionCollection 只支援 IAction 類型。 - - - BehaviorCollection 只支援 IBehavior 類型。 - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.cpp deleted file mode 100644 index 8252295c..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma warning(disable: 6298) -#include "pch.h" -#include "VisualStateUtilities.h" - -using namespace Platform; -using namespace Windows::UI::Xaml; -using namespace Windows::UI::Xaml::Controls; -using namespace Windows::UI::Xaml::Media; -using namespace Windows::Foundation::Collections; -using namespace Microsoft::Xaml::Interactivity; - -bool VisualStateUtilities::GoToState(Control^ control, String^ stateName, bool useTransitions) -{ - if (control == nullptr) - { - #pragma warning(suppress: 6298) - throw ref new InvalidArgumentException("control"); - } - - if (stateName == nullptr) - { - #pragma warning(suppress: 6298) - throw ref new InvalidArgumentException("stateName"); - } - - control->ApplyTemplate(); - return VisualStateManager::GoToState(control, stateName, useTransitions); -} - -IVector^ VisualStateUtilities::GetVisualStateGroups(FrameworkElement^ element) -{ - if (element == nullptr) - { - #pragma warning(suppress: 6298) - throw ref new InvalidArgumentException("element"); - } - - IVector^ visualStateGroups = VisualStateManager::GetVisualStateGroups(element); - - if (visualStateGroups == nullptr || visualStateGroups->Size == 0) - { - int childrenCount = VisualTreeHelper::GetChildrenCount(element); - if (childrenCount > 0) - { - FrameworkElement^ childElement = dynamic_cast(VisualTreeHelper::GetChild(element, 0)); - if (childElement != nullptr) - { - visualStateGroups = VisualStateManager::GetVisualStateGroups(childElement); - } - } - } - - return visualStateGroups; -} - -Control^ VisualStateUtilities::FindNearestStatefulControl(FrameworkElement^ element) -{ - if (element == nullptr) - { - #pragma warning(suppress: 6298) - throw ref new InvalidArgumentException("element"); - } - - // Try to find an element which is the immediate child of a UserControl, ControlTemplate or other such "boundary" element - FrameworkElement^ parent = dynamic_cast(element->Parent); - - // bubble up looking for a place to stop - while (!VisualStateUtilities::HasVisualStateGroupsDefined(element) && VisualStateUtilities::ShouldContinueTreeWalk(parent)) - { - element = parent; - parent = dynamic_cast(element->Parent); - } - - if (VisualStateUtilities::HasVisualStateGroupsDefined(element)) - { - // Once we've found such an element, use the VisualTreeHelper to get it's parent. For most elements the two are the - // same, but for children of a ControlElement this will give the control that contains the template. - Control^ templatedParent = dynamic_cast(VisualTreeHelper::GetParent(element)); - - if (templatedParent != nullptr) - { - return templatedParent; - } - else - { - return dynamic_cast(element); - } - } - - return nullptr; -} - -bool VisualStateUtilities::HasVisualStateGroupsDefined(FrameworkElement^ frameworkElement) -{ - return frameworkElement != nullptr && VisualStateManager::GetVisualStateGroups(frameworkElement)->Size != 0; -} - -bool VisualStateUtilities::ShouldContinueTreeWalk(FrameworkElement^ element) -{ - if (element == nullptr || dynamic_cast(element) != nullptr) - { - return false; - } - else if (element->Parent == nullptr) - { - // Stop if parent's parent is null AND parent isn't the template root of a ControlTemplate or DataTemplate - FrameworkElement^ templatedParent = dynamic_cast(VisualTreeHelper::GetParent(element)); - if (templatedParent == nullptr || (!(dynamic_cast(element) != nullptr) && !(dynamic_cast(element) != nullptr))) - { - return false; - } - } - - return true; -} diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.h deleted file mode 100644 index 8cb32fa3..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/VisualStateUtilities.h +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -#pragma once - -namespace Microsoft { namespace Xaml { namespace Interactivity -{ - /// - /// Provides various standard operations for working with . - /// - [::Windows::Foundation::Metadata::WebHostHiddenAttribute] - public ref class VisualStateUtilities sealed - { - private: - VisualStateUtilities(); - - public: - /// - /// Find the nearest parent which contains visual states. - /// - /// The from which to find the nearest stateful control. - /// The nearest that contains visual states; else null. - /// is null. - static ::Windows::UI::Xaml::Controls::Control^ FindNearestStatefulControl(::Windows::UI::Xaml::FrameworkElement^ element); - - /// - /// Transitions the control between two states. - /// - /// The to transition between states. - /// The state to transition to. - /// True to use a to transition between states; otherwise, false. - /// True if the is successfully transitioned to the new state; otherwise, false. - /// or is null. - static bool GoToState(::Windows::UI::Xaml::Controls::Control^ control, ::Platform::String^ stateName, bool useTransitions); - - /// - /// Gets the value of the VisualStateManager.VisualStateGroups attached property. - /// - /// The from which to get the VisualStateManager.VisualStateGroups. - /// The list of VisualStateGroups in the given element. - /// is null. - static ::Windows::Foundation::Collections::IVector<::Windows::UI::Xaml::VisualStateGroup^>^ GetVisualStateGroups(::Windows::UI::Xaml::FrameworkElement^ element); - - private: - static bool HasVisualStateGroupsDefined(::Windows::UI::Xaml::FrameworkElement^ element); - static bool ShouldContinueTreeWalk(::Windows::UI::Xaml::FrameworkElement^ element); - }; - -}}} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/packages.config b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/packages.config deleted file mode 100644 index fa60d2ef..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.cpp b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.cpp deleted file mode 100644 index b20b8859..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -// -// pch.cpp -// Include the standard header and generate the precompiled header. -// - -#include "pch.h" diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.h deleted file mode 100644 index aeef7725..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/pch.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. -// -// pch.h -// Header for standard system include files. -// -#pragma once - -#include -#include diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/resource.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/resource.h deleted file mode 100644 index 8cc88f81..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Microsoft.Xaml.Interactivity.Version.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/targetver.h b/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/targetver.h deleted file mode 100644 index 3d84dc0f..00000000 --- a/src/BehaviorsSDKNative/Microsoft.Xaml.Interactivity/targetver.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -// Copyright (c) Microsoft. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// Including SDKDDKVer.h defines the highest available Windows platform. - -// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and -// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. - -#include diff --git a/src/BehaviorsSDKNative/NativeUnitTests/ActionCollectionTest.cs b/src/BehaviorsSDKNative/NativeUnitTests/ActionCollectionTest.cs deleted file mode 100644 index fc5ea7d1..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/ActionCollectionTest.cs +++ /dev/null @@ -1,34 +0,0 @@ -// ------------------------------------------------------------------- -// Copyright (c) Microsoft Corporation. All Rights Reserved. -// ------------------------------------------------------------------- - -using System.Runtime.InteropServices; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Microsoft.VisualStudio.TestTools.UnitTesting.AppContainer; -using Microsoft.Xaml.Interactivity; -using Windows.UI.Xaml.Controls; - -namespace BehaviorsXamlSdkUnitTests -{ - [TestClass] - public class ActionCollectionTest - { - [UITestMethod] - public void VectorChanged_NonActionAdded_ExceptionThrown() - { - ActionCollection actionCollection = new ActionCollection(); - actionCollection.Add(new StubAction()); - - Assert.ThrowsException(() => actionCollection.Add(new Button())); - } - - [UITestMethod] - public void VectorChanged_ActionChangedToNonAction_ExceptionThrown() - { - ActionCollection actionCollection = new ActionCollection(); - actionCollection.Add(new StubAction()); - - Assert.ThrowsException(() => actionCollection[0] = new Button()); - } - } -} diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/LockScreenLogo.scale-200.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 735f57adb5dfc01886d137b4e493d7e97cf13af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/SplashScreen.scale-200.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 023e7f1feda78d5100569825acedfd213a0d84e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7700 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 diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/Square150x150Logo.scale-200.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/Square150x150Logo.scale-200.png deleted file mode 100644 index af49fec1a5484db1d52a7f9b5ec90a27c7030186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/Square44x44Logo.scale-200.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index ce342a2ec8a61291ba76c54604aea7e9d20af11b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png deleted file mode 100644 index f6c02ce97e0a802b85f6021e822c89f8bf57d5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/StoreLogo.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/StoreLogo.png deleted file mode 100644 index 7385b56c0e4d3c6b0efe3324aa1194157d837826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Assets/Wide310x150Logo.scale-200.png b/src/BehaviorsSDKNative/NativeUnitTests/Assets/Wide310x150Logo.scale-200.png deleted file mode 100644 index 288995b397fdbef1fb7e85afd71445d5de1952c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3204 zcmbVPeQXow8NYmBd90>}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- zf+K}sCe8qU6Ujs`3ua{U0Of$R_gVQBuUA za0v=mu#vIOqiiAZOr&h*$WyOw&k-xr$;G4Ixa!#TJNr>95(h>l%)PUy4p+^SgR(uR zta%k*?ny-+nAr8spEk1fo{J4i!b^Fia`N{_F6@zidA2ZTTrjl#^5Z-2KfB@Cu}l9s z(*|Z2jc?p~vn2f)3y9i*7zJV1L{$?|&q)4oaT;uXi6>1GkRXVTOzAz(RHEmr=eFIi z`}<>-Q?K0GN8!IYxeP1XKXO+jsJbp~o^);Bc;%b7Flpe7;1`Ny@3r7ZR;?R)aJt8C ziNlEC<@3f_lIV4TwV}&e;D!Ee5_|e#g0LUh=5vmYWYm7&2h*M>QPKvGh9-)wfMMW3 z8J9b%1k7dzPzO0_NGQy92BZ^FR6R~6;^6?lqO;-QUP4BY%cG%3vEhbm#>4vIhPBh3 z-+pZGjh$x%Hp{?=FHsMp0&wNPlj00us{&`1ZOZTqs8%4X&xH=UDr*xyBW(Zp&Em94 zf)ZSfn#yg0N)>!1kWdkqJ^S*z0FF5|fj&qcE#Na|%OY0$uO>!&hP+1ywfD_WXk@4J(?MBftK7>$Nvqh@tDuarN%PrTLQ2Uzysx>UV=V zk^RrDSvdQ?0;=hY67EgII-f4`t=+i*yS=Y~!XlqIy_4x&%+OdfbKOFPXS2X5%4R{N z$SQMX^AK6(fA(() => behaviorCollection.Add(new TextBlock())); - } - - [UITestMethod] - public void VectorChanged_BehaviorChangedToNonBehavior_ExceptionThrown() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - - Assert.ThrowsException(() => behaviorCollection[0] = new ToggleSwitch()); - } - - [UITestMethod] - public void VectorChanged_DuplicateAdd_ExceptionThrown() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - StubBehavior stub = new StubBehavior(); - behaviorCollection.Add(stub); - - Assert.ThrowsException(() => behaviorCollection.Add(stub)); - } - - [UITestMethod] - public void VectorChanged_AddWhileNotAttached_AttachNotCalled() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - StubBehavior stub = new StubBehavior(); - behaviorCollection.Add(stub); - - TestUtilities.AssertNotAttached(stub); - } - - [UITestMethod] - public void VectorChanged_AddWhileAttached_AllAttached() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Attach(new Button()); - - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - - foreach (StubBehavior stub in behaviorCollection) - { - TestUtilities.AssertAttached(stub, behaviorCollection.AssociatedObject); - } - } - - [UITestMethod] - public void VectorChanged_ReplaceWhileAttached_OldDetachedNewAttached() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Attach(new Button()); - - StubBehavior first = new StubBehavior(); - behaviorCollection.Add(first); - - StubBehavior second = new StubBehavior(); - - behaviorCollection[0] = second; - - TestUtilities.AssertDetached(first); - - TestUtilities.AssertAttached(second, behaviorCollection.AssociatedObject); - } - - - [UITestMethod] - public void VectorChanged_RemoveWhileNotAttached_DetachNotCalled() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - - StubBehavior behavior = new StubBehavior(); - behaviorCollection.Add(behavior); - behaviorCollection.Remove(behavior); - - TestUtilities.AssertNotDetached(behavior); - } - - [UITestMethod] - public void VectorChanged_RemoveWhileAttached_Detached() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Attach(new ToggleSwitch()); - - StubBehavior behavior = new StubBehavior(); - behaviorCollection.Add(behavior); - behaviorCollection.Remove(behavior); - - TestUtilities.AssertDetached(behavior); - } - - [UITestMethod] - public void VectorChanged_ResetWhileNotAttached_DetachNotCalled() - { - StubBehavior[] behaviorArray = { new StubBehavior(), new StubBehavior(), new StubBehavior() }; - - BehaviorCollection behaviorCollection = new BehaviorCollection(); - foreach (StubBehavior behavior in behaviorArray) - { - behaviorCollection.Add(behavior); - } - - behaviorCollection.Clear(); - - foreach (StubBehavior behavior in behaviorArray) - { - TestUtilities.AssertNotDetached(behavior); - } - } - - [UITestMethod] - public void VectorChanged_ResetWhileAttached_AllDetached() - { - StubBehavior[] behaviorArray = { new StubBehavior(), new StubBehavior(), new StubBehavior() }; - - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Attach(new Button()); - - foreach (StubBehavior behavior in behaviorArray) - { - behaviorCollection.Add(behavior); - } - - behaviorCollection.Clear(); - - foreach (StubBehavior behavior in behaviorArray) - { - TestUtilities.AssertDetached(behavior); - } - } - - [UITestMethod] - public void Attach_MultipleBehaviors_AllAttached() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - - Button button = new Button(); - behaviorCollection.Attach(button); - - Assert.AreEqual(button, behaviorCollection.AssociatedObject, "Attach should set the AssociatedObject to the given parameter."); - - foreach (StubBehavior stub in behaviorCollection) - { - TestUtilities.AssertAttached(stub, button); - } - } - - [UITestMethod] - public void Attach_Null_AttachNotCalledOnItems() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - - behaviorCollection.Attach(null); - - foreach (StubBehavior stub in behaviorCollection) - { - TestUtilities.AssertNotAttached(stub); - } - } - - [UITestMethod] - public void Attach_MultipleObjects_ExceptionThrown() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - StubBehavior stub = new StubBehavior(); - behaviorCollection.Attach(new Button()); - - Assert.ThrowsException(() => behaviorCollection.Attach(new StackPanel())); - } - - [UITestMethod] - public void Attach_NonNullThenNull_ExceptionThrown() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - - behaviorCollection.Attach(new Button()); - - Assert.ThrowsException(() => behaviorCollection.Attach(null)); - } - - [UITestMethod] - public void Attach_MultipleTimeSameObject_AttachCalledOnce() - { - BehaviorCollection behaviorCollection = new BehaviorCollection() { new StubBehavior() }; - - Button button = new Button(); - behaviorCollection.Attach(button); - behaviorCollection.Attach(button); - - // This method hard codes AttachCount == 1. - TestUtilities.AssertAttached((StubBehavior)behaviorCollection[0], button); - } - - [UITestMethod] - public void Detach_NotAttached_DetachNotCalledOnItems() - { - BehaviorCollection behaviorCollection = new BehaviorCollection() { new StubBehavior() }; - - behaviorCollection.Detach(); - - TestUtilities.AssertNotDetached((StubBehavior)behaviorCollection[0]); - } - - [UITestMethod] - public void Detach_Attached_AllItemsDetached() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - - behaviorCollection.Attach(new Button()); - behaviorCollection.Detach(); - - Assert.IsNull(behaviorCollection.AssociatedObject, "The AssociatedObject should be null after Detach."); - - foreach (StubBehavior behavior in behaviorCollection) - { - TestUtilities.AssertDetached(behavior); - } - } - } -} diff --git a/src/BehaviorsSDKNative/NativeUnitTests/InteractionTest.cs b/src/BehaviorsSDKNative/NativeUnitTests/InteractionTest.cs deleted file mode 100644 index 32847907..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/InteractionTest.cs +++ /dev/null @@ -1,157 +0,0 @@ -// ------------------------------------------------------------------- -// Copyright (c) Microsoft Corporation. All Rights Reserved. -// ------------------------------------------------------------------- - -using System.Collections.Generic; -using System.Linq; - -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Microsoft.VisualStudio.TestTools.UnitTesting.AppContainer; -using Microsoft.Xaml.Interactivity; -using Windows.UI.Xaml.Controls; - -namespace BehaviorsXamlSdkUnitTests -{ - [TestClass] - public class InteractionTest - { - [UITestMethod] - public void SetBehaviors_MultipleBehaviors_AllAttached() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - - Button button = new Button(); - Interaction.SetBehaviors(button, behaviorCollection); - - foreach (StubBehavior behavior in behaviorCollection) - { - Assert.AreEqual(1, behavior.AttachCount, "Should only have called Attach once."); - Assert.AreEqual(0, behavior.DetachCount, "Should not have called Detach."); - Assert.AreEqual(button, behavior.AssociatedObject, "Should be attached to the host of the BehaviorCollection."); - } - } - - [UITestMethod] - public void SetBehaviors_MultipleSets_DoesNotReattach() - { - BehaviorCollection behaviorCollection = new BehaviorCollection() { new StubBehavior() }; - - Button button = new Button(); - Interaction.SetBehaviors(button, behaviorCollection); - Interaction.SetBehaviors(button, behaviorCollection); - - foreach (StubBehavior behavior in behaviorCollection) - { - Assert.AreEqual(1, behavior.AttachCount, "Should only have called Attach once."); - } - } - - [UITestMethod] - public void SetBehaviors_CollectionThenNull_DeatchCollection() - { - BehaviorCollection behaviorCollection = new BehaviorCollection() { new StubBehavior() }; - - Button button = new Button(); - Interaction.SetBehaviors(button, behaviorCollection); - Interaction.SetBehaviors(button, null); - - foreach (StubBehavior behavior in behaviorCollection) - { - Assert.AreEqual(1, behavior.DetachCount, "Should only have called Detach once."); - Assert.IsNull(behavior.AssociatedObject, "AssociatedObject should be null after Detach."); - } - } - - [UITestMethod] - public void SetBehaviors_NullThenNull_NoOp() - { - // As long as this doesn't crash/assert, we're good. - - Button button = new Button(); - Interaction.SetBehaviors(button, null); - Interaction.SetBehaviors(button, null); - Interaction.SetBehaviors(button, null); - } - - [UITestMethod] - public void SetBehaviors_ManualDetachThenNull_DoesNotDoubleDetach() - { - BehaviorCollection behaviorCollection = new BehaviorCollection(); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - behaviorCollection.Add(new StubBehavior()); - - Button button = new Button(); - Interaction.SetBehaviors(button, behaviorCollection); - - foreach (StubBehavior behavior in behaviorCollection) - { - behavior.Detach(); - } - - Interaction.SetBehaviors(button, null); - - foreach (StubBehavior behavior in behaviorCollection) - { - Assert.AreEqual(1, behavior.DetachCount, "Setting BehaviorCollection to null should not call Detach on already Detached Behaviors."); - Assert.IsNull(behavior.AssociatedObject, "AssociatedObject should be null after Detach."); - } - } - - [UITestMethod] - public void ExecuteActions_NullParameters_ReturnsEmptyEnumerable() - { - // Mostly just want to test that this doesn't throw any exceptions. - IEnumerable result = Interaction.ExecuteActions(null, null, null); - - Assert.IsNotNull(result); - Assert.AreEqual(0, result.Count(), "Calling ExecuteActions with a null ActionCollection should return an empty enumerable."); - } - - [UITestMethod] - public void ExecuteActions_MultipleActions_AllActionsExecuted() - { - ActionCollection actions = new ActionCollection(); - actions.Add(new StubAction()); - actions.Add(new StubAction()); - actions.Add(new StubAction()); - - Button sender = new Button(); - string parameterString = "TestString"; - - Interaction.ExecuteActions(sender, actions, parameterString); - - foreach (StubAction action in actions) - { - Assert.AreEqual(1, action.ExecuteCount, "Each IAction should be executed once."); - Assert.AreEqual(sender, action.Sender, "Sender is passed to the actions."); - Assert.AreEqual(parameterString, action.Parameter, "Parameter is passed to the actions."); - } - } - - [UITestMethod] - public void ExecuteActions_ActionsWithResults_ResultsInActionOrder() - { - string[] expectedReturnValues = { "A", "B", "C" }; - - ActionCollection actions = new ActionCollection(); - - foreach (string returnValue in expectedReturnValues) - { - actions.Add(new StubAction(returnValue)); - } - - List results = Interaction.ExecuteActions(null, actions, null).ToList(); - - Assert.AreEqual(expectedReturnValues.Length, results.Count, "Should have the same number of results as IActions."); - - for (int resultIndex = 0; resultIndex < results.Count; resultIndex++) - { - Assert.AreEqual(expectedReturnValues[resultIndex], results[resultIndex], "Results should be returned in the order of the actions in the ActionCollection."); - } - } - } -} diff --git a/src/BehaviorsSDKNative/NativeUnitTests/NativeUnitTests.csproj b/src/BehaviorsSDKNative/NativeUnitTests/NativeUnitTests.csproj deleted file mode 100644 index 7b64e2f2..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/NativeUnitTests.csproj +++ /dev/null @@ -1,190 +0,0 @@ - - - - - Debug - x86 - {D8F350B3-B5FB-4CED-AF8B-595EBFE16461} - AppContainerExe - Properties - NativeUnitTests - NativeUnitTests - en-US - UAP - 10.0.19041.0 - 10.0.10240.0 - 14 - 512 - false - {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 14.0 - win10-arm;win10-arm-aot;win10-arm64;win10-arm64-aot;win10-x86;win10-x86-aot;win10-x64;win10-x64-aot - - - true - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x86 - false - prompt - true - - - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x86 - false - prompt - true - true - - - true - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - ARM - false - prompt - true - - - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - ARM - false - prompt - true - true - - - true - bin\ARM64\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS - ;2008 - true - full - ARM64 - false - 7.3 - prompt - MinimumRecommendedRules.ruleset - true - - - bin\ARM64\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS - true - ;2008 - true - pdbonly - ARM64 - false - 7.3 - prompt - MinimumRecommendedRules.ruleset - true - - - true - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x64 - false - prompt - true - - - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x64 - false - prompt - true - true - - - ..\..\..\out\$(SolutionName)\bin\$(Platform)\$(Configuration)\ - ..\..\..\out\$(SolutionName)\obj\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - UnitTestApp.xaml - - - - - MSBuild:Compile - Designer - - - - - Designer - - - - - - - - - - - - - - - {721b956c-043c-4658-8aa7-d72fd5f112bf} - Microsoft.Xaml.Interactivity - - - - - - - - 17.3.2 - - - 6.2.14 - - - 2.2.10 - - - 2.2.10 - - - 13.0.1 - - - - 14.0 - - - true - - - ..\..\..\key\Behaviors.snk - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Package.appxmanifest b/src/BehaviorsSDKNative/NativeUnitTests/Package.appxmanifest deleted file mode 100644 index b45e7f84..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/Package.appxmanifest +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - NativeUnitTests - drewgil - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Properties/AssemblyInfo.cs b/src/BehaviorsSDKNative/NativeUnitTests/Properties/AssemblyInfo.cs deleted file mode 100644 index 86b14f11..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("NativeUnitTests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("NativeUnitTests")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2015-2022")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: AssemblyMetadata("TargetPlatform","UAP")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: ComVisible(false)] \ No newline at end of file diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Properties/UnitTestApp.rd.xml b/src/BehaviorsSDKNative/NativeUnitTests/Properties/UnitTestApp.rd.xml deleted file mode 100644 index efee59d2..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/Properties/UnitTestApp.rd.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/NativeUnitTests/Stubs.cs b/src/BehaviorsSDKNative/NativeUnitTests/Stubs.cs deleted file mode 100644 index b08d54e7..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/Stubs.cs +++ /dev/null @@ -1,418 +0,0 @@ -// ------------------------------------------------------------------- -// Copyright (c) Microsoft Corporation. All Rights Reserved. -// ------------------------------------------------------------------- -namespace BehaviorsXamlSdkUnitTests -{ - using System; - using System.Collections.Generic; - using System.Windows.Input; - using Microsoft.Xaml.Interactivity; - using Windows.UI.Xaml; - using Windows.UI.Xaml.Controls; - using Windows.UI.Xaml.Data; - using Windows.UI.Xaml.Navigation; - - public class StubBehavior : DependencyObject, IBehavior - { - public int AttachCount - { - get; - private set; - } - - public int DetachCount - { - get; - private set; - } - - public ActionCollection Actions - { - get; - private set; - } - - public StubBehavior() - { - this.Actions = new ActionCollection(); - } - - public DependencyObject AssociatedObject - { - get; - private set; - } - - public void Attach(DependencyObject dependencyObject) - { - this.AssociatedObject = dependencyObject; - this.AttachCount++; - } - - public void Detach() - { - this.AssociatedObject = null; - this.DetachCount++; - } - - public IEnumerable Execute(object sender, object parameter) - { - return Interaction.ExecuteActions(sender, this.Actions, parameter); - } - } - - public class StubAction : DependencyObject, IAction - { - private readonly object returnValue; - - public StubAction() - { - this.returnValue = null; - } - - public StubAction(object returnValue) - { - this.returnValue = returnValue; - } - - public object Sender - { - get; - private set; - } - - public object Parameter - { - get; - private set; - } - - public int ExecuteCount - { - get; - private set; - } - - public object Execute(object sender, object parameter) - { - this.ExecuteCount++; - this.Sender = sender; - this.Parameter = parameter; - return this.returnValue; - } - } - - public class EventObjectStub : DependencyObject - { - public string Name; - - public delegate void IntEventHandler(int i); - - public event EventHandler StubEvent; - public event EventHandler StubEvent2; - public event IntEventHandler IntEvent; - public event EventHandler Click; - - public EventObjectStub(string name = null) - { - this.Name = name; - } - - public void FireStubEvent() - { - if (this.StubEvent != null) - { - this.StubEvent.Invoke(this, new EventArgs()); - } - } - - public void FireClickEvent() - { - if (this.Click != null) - { - this.Click.Invoke(this, new EventArgs()); - } - } - - public void FireStubEvent2() - { - if (this.StubEvent2 != null) - { - this.StubEvent2(this, new EventArgs()); - } - } - - public void FireIntEvent() - { - if (this.IntEvent != null) - { - this.IntEvent(0); - } - } - } - - public class ClrEventClassStub - { - public event EventHandler Event; - public static readonly string EventName = "Event"; - - public void Fire() - { - if (this.Event != null) - { - this.Event(this, EventArgs.Empty); - } - } - } - - public class ChangePropertyActionTargetStub - { - public const string DoublePropertyName = "DoubleProperty"; - public const string StringPropertyName = "StringProperty"; - public const string ObjectPropertyName = "ObjectProperty"; - public const string AdditivePropertyName = "AdditiveProperty"; - public const string WriteOnlyPropertyName = "WriteOnlyProperty"; - - public double DoubleProperty - { - get; - set; - } - - public string StringProperty - { - get; - set; - } - - public object ObjectProperty - { - get; - set; - } - - public object WriteOnlyProperty - { - set - { - } - } - } - - public class NavigateToPageActionTargetStub : Frame - { - public bool HasNavigated - { - get; - private set; - } - - public object LastParameter - { - get; - private set; - } - - public new bool Navigate(Type sourcePageType) - { - this.HasNavigated = true; - return true; - } - - public new bool Navigate(Type sourcePageType, object parameter) - { - this.HasNavigated = true; - this.LastParameter = parameter; - - return true; - } - } - - public class MethodObjectStub : DependencyObject - { - public string LastMethodCalled - { - get; - private set; - } - - public MethodObjectStub() - { - this.LastMethodCalled = "None"; - } - - public void UniqueMethodWithNoParameters() - { - this.LastMethodCalled = "UniqueMethodWithNoParameters"; - } - - public void DuplicatedMethod() - { - this.LastMethodCalled = "DuplicatedMethodWithNoParameters"; - } - - public void DuplicatedMethod(object sender, EventArgs args) - { - this.LastMethodCalled = "DuplicatedMethodWithEventHandlerSignature"; - } - - public void DuplicatedMethod(object sender, StubEventArgs args) - { - this.LastMethodCalled = "DuplicatedMethodWithStubEventArgsSignature"; - } - - private void AnotherDuplicateMethod() - { - this.LastMethodCalled = "HiddenAnotherDuplicateMethod"; - } - - public void AnotherDuplicateMethod(object sender, object args) - { - this.LastMethodCalled = "AnotherDuplicateMethod"; - } - - public void AnotherDuplicateMethod(object sender, int args) - { - this.LastMethodCalled = "AnotherDuplicateMethodWithValueType"; - } - - public void IndistinguishableWithNullMethod(object sender, Nullable args) - { - this.LastMethodCalled = "NullableIndistinguishableWithNullMethod"; - } - - public void IndistinguishableWithNullMethod(object sender, Button args) - { - this.LastMethodCalled = "ButtonIndistinguishableWithNullMethod"; - } - - public void IndistinguishableWithNullMethod(object sender, bool args) - { - this.LastMethodCalled = "BoolIndistinguishableWithNullMethod"; - } - - public int IncompatibleReturnType() - { - this.LastMethodCalled = "IncompatibleReturnType"; - return 0; - } - - public void IncompatibleParameters(double d) - { - this.LastMethodCalled = "IncompatibleParameters"; - } - } - - public class StubEventArgs : EventArgs - { - } - - public class StubCommand : ICommand - { - public event EventHandler CanExecuteChanged; - - public int ExecutionCount - { - get; - private set; - } - - public object LastParameter - { - get; - private set; - } - - public bool CanExecute(object parameter) - { - return true; - } - - public void Execute(object parameter) - { - this.ExecutionCount++; - string stringParam = parameter as string; - this.LastParameter = parameter; - } - } - - public class BoolToTestParameterConverter : IValueConverter - { - public object Convert(object value, Type targetType, object parameter, string language) - { - bool boolValue; - bool boolParameter; - if (value == null || - !bool.TryParse(value.ToString(), out boolValue) || - !bool.TryParse(parameter.ToString(), out boolParameter)) - { - return null; - } - - string convertedValue = boolValue && boolParameter ? "TrueParameter" : "FalseParameter"; - return convertedValue + language; - } - - public object ConvertBack(object value, Type targetType, object parameter, string language) - { - throw new NotImplementedException(); - } - } - - public class StubFrame : Frame - { - public bool NavigatedTo - { - get; - private set; - } - - public object Parameter - { - get; - private set; - } - - public StubFrame() - { - this.Navigated += this.OnNavigated; - } - - private void OnNavigated(object sender, NavigationEventArgs e) - { - this.NavigatedTo = true; - this.Parameter = e.Parameter; - } - } - - public class StubPage : Page - { - } - - public class NavigableStub : DependencyObject, INavigate - { - public string NavigatedTypeFullName - { - get; - private set; - } - - public bool Navigate(Type sourcePageType) - { - this.NavigatedTypeFullName = sourcePageType.FullName; - return true; - } - } - - public static class BehaviorTestHelper - { - public static T CreateNamedElement(string name) where T : FrameworkElement, new() - { - T frameworkElement = new T() - { - Name = name - }; - return frameworkElement; - } - } -} diff --git a/src/BehaviorsSDKNative/NativeUnitTests/TestUtilities.cs b/src/BehaviorsSDKNative/NativeUnitTests/TestUtilities.cs deleted file mode 100644 index be8fd009..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/TestUtilities.cs +++ /dev/null @@ -1,35 +0,0 @@ -// ------------------------------------------------------------------- -// Copyright (c) Microsoft Corporation. All Rights Reserved. -// ------------------------------------------------------------------- - -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Windows.UI.Xaml; - -namespace BehaviorsXamlSdkUnitTests -{ - public static class TestUtilities - { - public static void AssertDetached(StubBehavior behavior) - { - Assert.AreEqual(1, behavior.DetachCount, "The Behavior should be detached."); - Assert.IsNull(behavior.AssociatedObject, "A Detached Behavior should have a null AssociatedObject."); - } - - public static void AssertNotDetached(StubBehavior behavior) - { - Assert.AreEqual(0, behavior.DetachCount, "The Behavior should not be detached."); - } - - public static void AssertAttached(StubBehavior behavior, DependencyObject associatedObject) - { - Assert.AreEqual(1, behavior.AttachCount, "The behavior should be attached."); - Assert.AreEqual(associatedObject, behavior.AssociatedObject, "The AssociatedObject of the Behavior should be what it was attached to."); - } - - public static void AssertNotAttached(StubBehavior behavior) - { - Assert.AreEqual(0, behavior.AttachCount, "The behavior should not be attached."); - Assert.IsNull(behavior.AssociatedObject, "The AssociatedObject should be null for a non-attached Behavior."); - } - } -} diff --git a/src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml b/src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml deleted file mode 100644 index 84dde676..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml.cs b/src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml.cs deleted file mode 100644 index f9dd5244..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/UnitTestApp.xaml.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -namespace NativeUnitTests -{ - /// - /// Provides application-specific behavior to supplement the default Application class. - /// - sealed partial class App : Application - { - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - public App() - { - this.InitializeComponent(); - this.Suspending += OnSuspending; - } - - /// - /// Invoked when the application is launched normally by the end user. Other entry points - /// will be used such as when the application is launched to open a specific file. - /// - /// Details about the launch request and process. - protected override void OnLaunched(LaunchActivatedEventArgs e) - { - -#if DEBUG - if (System.Diagnostics.Debugger.IsAttached) - { - this.DebugSettings.EnableFrameRateCounter = true; - } -#endif - - Frame rootFrame = Window.Current.Content as Frame; - - // Do not repeat app initialization when the Window already has content, - // just ensure that the window is active - if (rootFrame == null) - { - // Create a Frame to act as the navigation context and navigate to the first page - rootFrame = new Frame(); - - rootFrame.NavigationFailed += OnNavigationFailed; - - if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) - { - //TODO: Load state from previously suspended application - } - - // Place the frame in the current Window - Window.Current.Content = rootFrame; - } - - Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.CreateDefaultUI(); - - // Ensure the current window is active - Window.Current.Activate(); - - Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(e.Arguments); - } - - /// - /// Invoked when Navigation to a certain page fails - /// - /// The Frame which failed navigation - /// Details about the navigation failure - void OnNavigationFailed(object sender, NavigationFailedEventArgs e) - { - throw new Exception("Failed to load Page " + e.SourcePageType.FullName); - } - - /// - /// Invoked when application execution is being suspended. Application state is saved - /// without knowing whether the application will be terminated or resumed with the contents - /// of memory still intact. - /// - /// The source of the suspend request. - /// Details about the suspend request. - private void OnSuspending(object sender, SuspendingEventArgs e) - { - var deferral = e.SuspendingOperation.GetDeferral(); - //TODO: Save application state and stop any background activity - deferral.Complete(); - } - } -} diff --git a/src/BehaviorsSDKNative/NativeUnitTests/project.json b/src/BehaviorsSDKNative/NativeUnitTests/project.json deleted file mode 100644 index 85b17d73..00000000 --- a/src/BehaviorsSDKNative/NativeUnitTests/project.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "dependencies": { - "Microsoft.NET.Test.Sdk": "16.5.0", - "Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9", - "MSTest.TestAdapter": "2.1.0", - "MSTest.TestFramework": "2.1.0" - }, - "frameworks": { - "uap10.0.10240": {} - }, - "runtimes": { - "win10-arm": {}, - "win10-arm-aot": {}, - "win10-x86": {}, - "win10-x86-aot": {}, - "win10-x64": {}, - "win10-x64-aot": {} - } -} \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Version/Design.Version.cs b/src/BehaviorsSDKNative/Version/Design.Version.cs deleted file mode 100644 index d59c3c3d..00000000 --- a/src/BehaviorsSDKNative/Version/Design.Version.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Reflection; - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.8.0")] -[assembly: AssemblyFileVersion("1.0.8.0")] diff --git a/src/BehaviorsSDKNative/Version/Microsoft.Xaml.Interactions.Version.rc b/src/BehaviorsSDKNative/Version/Microsoft.Xaml.Interactions.Version.rc deleted file mode 100644 index 5dc44eb6a2b63bed0ef1f7ab258c15cc82691b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4850 zcmdUzTW=CU6vxl2CVq#NzSwAb_rXUB6dUO!ndUWzxszc7{>b+(R#&i7{;09O!Dlie_s8Iy^RGXb_`fJxw@4ol;U4di^znSTJ001ArXq~75NeK7HYQ1%vbQxmJ2dwn5w^? z^ViEv9iGCmY&&G2ufHa>)}|6GNbZt}4Ic6R$rDXI*@DLr`QGK!KIfO6)CQ~jthO2J zE~mqar>nzzm%4s$Z{Xd8ZkrWg>)&CARiV-2?ghqYV z@mVot1YS5m-?JIm)c7dl28egbF)*JY}b8 zM8|Q&N);@rkk?tM^KlH??KtGBqlKh3L7s@3`fi(KK*LE_UMH9(Y^`BKn;Om9nQ-zP z*6+@raSsgf^KAOH6uoXqNzI-(KtIoW3mx@rjn5?BZqa!iqM@hT$nATy&Qb-*#mFOU zKfv$uObHD}RK9x13nJXZvNPfsqwCce3qsu#b4zy9TxH3cy>k|Q;oGB1pbg_}j)AH} z9Mz4<2PO1Y*LKZa8`}@^_A_s1tn20~5%bBuyI68D?_hrwj_HoucV3h{h7ZzcwNR%#iI&+je9&J_vhfdi?838#J?z8w`lK^;STo1WH+6w`HOC_ z$XC)07OUzmh|z3y6tWcL&es~Oi>QQ{UhR^l0U3(y4fPT87J9b9lkebxEf!SFAk}{z z7q8cuK0HI>rfpM!zW*BZ+7X>tMsu4=taC~3FRp0f&L%PrsrNR!_SnDZwAP{SK|Nxv zxtb0X&sRhC4t@R6-XXgI-xd_VXPl$WSC0U`0_4l&3Q#Y#@Z=L(EB_sC6eB{Y39Y(U ziCHmcNhlwXyxAZclhShpv;WM9#B&H{BKbZv`ijGcwP3)&U zb?laVh&8k5%J!?*@sN(v#D3^HH`HzLDZ6H)m)IU-efI(JTVf(njJr&x$?m6kUMF^! zPP=k>P25y}mrPZ|yFBKs0 ztDf-+-Xc0zSf!fk!8v%8pIO=esX=%PZN?Rk( n^d8oy{vx31b^0#?A(m+?=IdD&POkSD?9p#l`Tyzjd6%TWRAo?M diff --git a/src/BehaviorsSDKNative/Version/NuGetPackageVersion.props b/src/BehaviorsSDKNative/Version/NuGetPackageVersion.props deleted file mode 100644 index bc1ff9e9..00000000 --- a/src/BehaviorsSDKNative/Version/NuGetPackageVersion.props +++ /dev/null @@ -1,5 +0,0 @@ - - - 1.0.8 - - \ No newline at end of file diff --git a/src/BehaviorsSDKNative/Version/version.h b/src/BehaviorsSDKNative/Version/version.h deleted file mode 100644 index f33c52cb..00000000 --- a/src/BehaviorsSDKNative/Version/version.h +++ /dev/null @@ -1,4 +0,0 @@ -// Behaviors SDK version for native dlls - -#define BEHAVIORS_VERSION_STRING "1.0.8.0" -#define BEHAVIORS_VERSION_COMMA 1,0,8,0 From a035b6265eb4c071f84e7ced92826093d099279d Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Tue, 10 Sep 2024 14:35:24 -0400 Subject: [PATCH 2/3] Remove the native build GitHub actions --- .github/workflows/native-build.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .github/workflows/native-build.yml diff --git a/.github/workflows/native-build.yml b/.github/workflows/native-build.yml deleted file mode 100644 index 99b3fab9..00000000 --- a/.github/workflows/native-build.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Build Native - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - native-build: - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - uses: nuget/setup-nuget@v1.0.6 - - name: Restore - run: nuget restore src/BehaviorsSDKNative/BehaviorsSDKNative.sln - - uses: microsoft/setup-msbuild@v1.0.2 - - name: Build - run: msbuild src/BehaviorsSDKNative/BehaviorsSDKNative.sln /p:Configuration=Release From 37343a4d5f99da49aad80ef5d993a3ce6e28d8f7 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Tue, 10 Sep 2024 15:05:38 -0400 Subject: [PATCH 3/3] Updated README.md --- README.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 9f09570b..11012e4b 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,18 @@ # XAML Behaviors -XAML Behaviors is an easy-to-use means of adding common and reusable interactivity to your Windows UWP applications with minimal code. It is available for both native and managed applications. Use of XAML Behaviors is governed by the MIT License +XAML Behaviors is an easy-to-use means of adding common and reusable interactivity to your Windows UWP applications with minimal code. It is available for managed applications only. Use of XAML Behaviors is governed by the MIT License ## Build Status | Platform | Status | | -------- | ------ | | Managed | ![Build Managed](https://github.com/microsoft/XamlBehaviors/workflows/Build%20Managed/badge.svg) | -| Native | ![Build Native](https://github.com/microsoft/XamlBehaviors/workflows/Build%20Native/badge.svg) | ## Getting Started ### Where to get it -- NuGet package for [Native](https://www.nuget.org/packages/Microsoft.Xaml.Behaviors.Uwp.Native/) and [Managed](https://www.nuget.org/packages/Microsoft.Xaml.Behaviors.Uwp.Managed/) +- NuGet package for [Managed](https://www.nuget.org/packages/Microsoft.Xaml.Behaviors.Uwp.Managed/) - [Source Code](https://github.com/Microsoft/XamlBehaviors) ### Resources @@ -75,10 +74,3 @@ For WinUI: - Run `msbuild /t:Pack src\BehaviorsSDKManaged\Microsoft.Xaml.Interactivity.WinUI\Microsoft.Xaml.Interactivity.WinUI.csproj` - *(Optional)* Add `/p:TimestampPackage=true` to include the timestamp in the NuGet package version - -#### Build and Create Native XAML Behaviors NuGet - -- Open the "BehaviorsSDKNative.sln" solution in Visual Studio -- [Batch Build](https://msdn.microsoft.com/en-us/library/169az28z(v=vs.90).aspx) for x86, x64, and ARM in Release -- Run `msbuild /t:Pack src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj` - - *(Optional)* Add `/p:TimestampPackage=true` to include the timestamp in the NuGet package version