2008-12-12 174 views
3

嘿傢伙/女孩。我有一個Silverlight 2應用程序,它有一個來自單獨的組件/ lib的ObservableCollection類。當我在該集合上設置ListBox.ItemsSource並運行它時,出現錯誤代碼:4004「System.ArgumentException:值不在預期範圍內。」 下面是部分代碼:Silverlight 2錯誤代碼:4004

public partial class Page : UserControl 
{ 
    ObservableCollection<Some.Lib.Owner> ooc; 

    public Page() 
    { 

     ooc = new ObservableCollection<Some.Lib.Owner>(); 
     Some.Lib.Owner o1 = new Some.Lib.Owner() { FirstName = "test1" }; 
     Some.Lib.Owner o2 = new Some.Lib.Owner() { FirstName = "test2" }; 
     Some.Lib.Owner o3 = new Some.Lib.Owner() { FirstName = "test3" }; 
     ooc.Add(o1); 
     ooc.Add(o2); 
     ooc.Add(o3); 

     InitializeComponent(); 
     lb1.ItemsSource = ooc; 
    } 
} 

但當我這個相同的項目中創建的主階級,一切工作正常。 幕後有沒有一些安全的事情發生?另外,當我創建此Silverlight 2應用程序時,我正在使用生成html頁面選項而不是aspx選項。

回答

1

你想使用標準類庫或「Silverlight類庫」嗎?

由於Silverlight 2使用CLR的子集,因此無法訪問使用完整CLR編譯的標準類庫。要使用外部程序集,您必須將其創建爲「Silverlight類庫」。這將創建一個項目,其中只包含Silverlight可用的名稱空間,並允許您在Silverlight項目中引用該程序集。

查看MSDN文章".NET Framework Class Library for Silverlight"瞭解更多信息。

+0

是的,我將它創建爲Silverlight類庫。經過無數個小時搜索「Google」後,我放棄了。現在一切都在一個項目中。 – jkidv 2008-12-18 17:35:08