Я пытаюсь получить доступ к System.Windows.VisualStateManager, перенеся DLL с платформы Silverlight в WPF. Это System.Windows.dll, и он конфликтует с другой dll (я полагаю, с WindowsBase.dll), поэтому я дал сборке псевдоним, чтобы разобраться с осложнениями. В моем коде я могу получить доступ ко всем классам/перечислениям/чему-то еще, что мне нужно, но мне нужно добавить VisualStateGroups в XAML моей страницы. Поэтому я добавил это:
xmlns:vsm="clr-namespace:System.Windows;assembly=PresentationFramework"
Мне нужно это для этих элементов:
<vsm:VisualStateManager.VisualStateGroups>
<vsm:VisualStateGroup x:Name="DragCue">
<vsm:VisualState x:Name="NoDrop">
Проблема в том, что vsm кажется псевдонимом пространства имен в WindowsBase.dll. Что бы он ни делал на самом деле, он не позволяет мне получить доступ к VisualStateManager, на который я могу успешно ссылаться в коде и успешно получить доступ в тестовом проекте, чтобы убедиться, что он работает. Это должно было быть так же просто, как простое копирование вещей... Есть ли способ явно сказать, что я хочу, чтобы xmlns:vsm указывал только на пространство имен из определенного класса с псевдонимом?