2010-08-18 31 views
7

XAML'imde aşağıdaki ad alanını başvurmaya çalıştığımda, kod derler ve proje başlar, ancak InitializeComponent yöntemi bir hata atar.Silverlight ad alanı kullanamazsınız

xmlns: ei = "http://schemas.microsoft.com/expression/2010/interactions"

ve burada hatadır ExtendedVisualStateManager kullanımı

<ei:ExtendedVisualStateManager/> 

var Burada XAML referans var this:

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

Bu denetimi kullanmak için kullanmam gereken yeni bir ad alanı var mı?

cevap

6

İşte bazı gerçekler.

  1. Microsoft.Expression.Interactions.dll 4.0.5.0 sürümü, Microsoft.Expression.Interactivity.Core ad alanını içerir. Bu Microsoft.Expression.Interactivity.Core, ExtendedVisualStateManager türünü içerir.
  2. Microsoft.Expression.Interactions.dll 4.0.5.0 sürümü, Microsoft.Expression.Interactivity.Core ad alanına "http://schemas.microsoft.com/expression/2010/interactions" URL'sini eşleyen bir XmlnsDefinition taşır. Daha sonra ei:ExtendedVisualStateManager içerebilen

Dolayısıyla Microsoft.Expression.Interactions.dll sürümünü 4.0.5.0 referans proje xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" kullanılarak Xaml içerebilir.

Sürüm numarasını birkaç kez yinelediğimi not edersiniz. Bir Silverlight 4 projesinde başvurulan bir dll etkileşiminiz varsa ancak kodunuz çalışmazsa, belki de yanlış sürümü. Ancak bu durumda Dan'ın cevabı hala çalışmış olmalı.

2

Silverlight uygulamanızın Microsoft.Expression.Interactions topluluğuna bir referansı olduğundan emin olun.

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

Zaten bu derleme başvuruda bulundu ve derleme başvuru stilini kullanarak çalıştı, ancak yeni bir hata atıldı: 'Clr-ad alanı: Microsoft.Expression.Interactivity.Core;' ExtendedVisualStateManager 'türü bulunamadı çünkü = Microsoft.Expression.Interactions 'bilinmeyen bir ad alanıdır. [Line: 19 Position: 37] – Josh

1

Projenizin özelliklerine bakmanız gerektiğini düşünüyorum. Referansları (Microsoft.Expression.Interactions veya diğer "İfade" derlemeleri kullanabilir ve "Yerel Kopyala" özelliğini DOĞRU olarak ayarlayın ve yeniden deneyin.

2

Diğer yanıtlara göre sen, sorun hala vardı.Olumumda bir usercontrol üzerinde çalışma zamanında başarısız oldu (ve bu proje Microsoft.Expression.Interactions referansı var)

Ancak, bu usercontrol başka bir projede bir formda kullanılıyordu. dış proje için Microsoft.Expression.Interactions için, çalışma zamanı hatası çözüldü. Dinamik olarak derleme yüklemiyordum ve bu yüzden% 100 bir sorun neden olmadığımı anladım

-1

Cevapların hiçbiri bu şaşırtıcı problemi çözmedi.

Görünüşe göre Microsoft Expression Blend SDK for Silverlight 4'a ihtiyacım vardı.

Yüklemek sorunu çözmüştür.

+0

Cevabın kötü olduğunu düşünüyorsanız, -1 olmadan yorum yapabilirsiniz. Her neyse, bütün cevapları burada buldum, çok garip ve en yüksek puanlı cevap bana işe yaramaz gibi görünüyor, hiç de çözüm üretmiyor. –