2010-08-18 84 views
7

每當我嘗試在我的XAML中引用下面的命名空間時,代碼編譯和項目啓動,但InitializeComponent方法會引發錯誤。這裏的XAML參考:不能使用silverlight命名空間

的xmlns:EI = 「http://schemas.microsoft.com/expression/2010/interactions」

,這裏是使用ExtendedVisualStateManager的

<ei:ExtendedVisualStateManager/> 

的錯誤是這:

The type 'ExtendedVisualStateManager' was not found because 'http://schemas.microsoft.com/expression/2010/interactions' is an unknown namespace. [Line: 19 Position: 37] 

是否有一個新的命名空間,我需要使用該控件?

回答

6

這是一些事實。

  1. Microsoft.Expression.Interactions.dll版本4.0.5.0包含命名空間Microsoft.Expression.Interactivity.Core
  2. Microsoft.Expression.Interactivity.Core包含ExtendedVisualStateManager類型。
  3. Microsoft.Expression.Interactions.dll版本4.0.5.0包含一個XmlnsDefinition,它將URL「http://schemas.microsoft.com/expression/2010/interactions」映射到名稱空間Microsoft.Expression.Interactivity.Core

因此,一個項目引用Microsoft.Expression.Interactions.dll版本4.0.5.0可以使用xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"包含XAML中則可以包含ei:ExtendedVisualStateManager

你會注意到我已經重複了幾次版本號。如果你確實在Silverlight 4項目中引用了一個交互dll,但是你的代碼不起作用,那麼可能是它的錯誤版本。但是在那種情況下,丹的答案應該仍然有效。

2

確保您的Silverlight應用程序具有對Microsoft.Expression.Interactions程序集的引用。

<UserControl 
    xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions" 
    ...other namespaces... /> 
    <VisualStateManager.CustomVisualStateManager> 
     <ei:ExtendedVisualStateManager/> 
    </VisualStateManager.CustomVisualStateManager> 
</UserControl> 
+1

我已經有該程序集引用並嘗試使用您的引用程序集的風格,但引發了新錯誤: 找不到'ExtendedVisualStateManager'類型,因爲'clr-namespace:Microsoft.Expression.Interactivity.Core; assembly = Microsoft.Expression.Interactions'是一個未知的命名空間。 [Line:19 Position:37] – Josh 2010-08-18 16:15:05

1

我想你應該看看你的項目的屬性。找到參考文獻(Microsoft.Expression.Interactions或/和您可能使用的其他「表達式」程序集,並將「複製本地」屬性設置爲TRUE,然後重試。

2

我已經將所有其他答案都正確你的問題仍然存在,它在運行時在我的項目中的usercontrol上失敗(並且該項目參考了Microsoft.Expression.Interactions

但是,該用戶控件正在另一個項目的窗體上使用。到Microsoft.Expression.Interactions到外部項目,運行時錯誤解決了。我不是動態加載程序集,所以我不是100%確定爲什麼這是一個問題。

-1

沒有答案解決了這個令人困惑的問題給我。我想我需要Microsoft Expression Blend SDK for Silverlight 4

安裝它解決了這個問題。

+0

那麼如果你認爲答案不好,你可以評論沒有-1。無論如何,我發現這裏的所有答案都很奇怪,評分最高的答案對我來說看起來毫無用處,根本不會導致解決方案。 – 2014-05-09 03:24:06

相關問題