Я пытаюсь получить доступ к 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 указывал на пространство имен из определенного псевдонима класса?