我試圖通過將Silverlight平臺中的DLL引入WPF來訪問System.Windows.VisualStateManager。它是System.Windows.dll,它與另一個dll(我相信WindowsBase.dll)發生衝突,所以我給了程序集一個別名來解決那裏的複雜問題。在我的代碼後面,我可以訪問所有的類/枚舉/什麼 - 不是我需要的,但我需要將VisualStateGroups添加到我的頁面的XAML中。所以我說這一點:用於別名程序集的WPF xmlns?
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,我可以在代碼中成功地引用VisualStateManager,並且可以在測試項目中成功訪問它,以確保它能夠正常工作。它應該是一樣簡單,只需要複製...有沒有一種方法明確地說我只希望xmlns:vsm指向特定別名類的命名空間?
如果您在wpf4的新應用程序中使用wpf3.5的舊庫,則可能需要wpf4內建vsm和WPFToolkit的vsm。 – 2011-02-17 19:30:25