WPF xmlns для сборки с псевдонимом?

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


person Corey Ogburn    schedule 21.07.2010    source источник


Ответы (1)


Я понимаю, что эта тема устарела, и вы, возможно, нашли исправление, но из любопытства, почему вам нужно использовать другой диспетчер визуальных состояний? WPF предоставляет тот, который, как я думал, почти такой же, как Silverlight, а в Silverlight просто происходят некоторые вещи, связанные с Интернетом.

person CodeWarrior    schedule 17.02.2011
comment
Вам может понадобиться как встроенный vsm wpf4, так и vsm WPFToolkit, если вы используете старую библиотеку для wpf3.5 в новом приложении для wpf4. - person Bruno Martinez; 17.02.2011