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;
}
}
但是当我在同一个项目中创建Owner类时,一切正常。 幕后会发生一些安全问题吗?另外,当我创建这个Silverlight 2应用程序时,我正在使用生成html页面选项而不是aspx选项。
答案 0 :(得分:1)
您是否尝试使用标准类库或“Silverlight类库”?
由于Silverlight 2使用CLR的子集,因此无法访问使用完整CLR编译的标准类库。要使用外部程序集,必须将其创建为“Silverlight类库”。这将创建一个仅包含Silverlight可用命名空间的项目,并允许您在Silverlight项目中引用该程序集。
有关详细信息,请查看MSDN文章".NET Framework Class Library for Silverlight"。
答案 1 :(得分:0)
可能是因为您没有在SubmittedChanges()中处理失败。有关详细信息,请参阅http://www.scottleckie.com/2010/04/code-4004-unhandled-error-in-silverlight-application/
答案 2 :(得分:0)
现在一切都在一个项目中。
是,但不像您刚才那样做,而是共享链接到文件。
为此,当需要在应用程序和服务之间共享通用的entity
代码时,这是Silverlight的一个古老的“绝地秘诀” 。当由于.Net / CLR的差异而无法导入该库时,将执行此操作。
诀窍是将文件作为 link 包含到另一个项目中。这是
Add
,然后依次选择Existing Item...
或shift
alt
A
。 / li>
Add
按钮上选择下拉箭头。Add as link
将文件作为链接添加到文件夹中。
完成后,只有一个副本,但是建立在两个不同的地方。
这将授予对文件的访问权限,就好像文件实际位于项目的文件夹中一样,但是文件实际上位于其他地方...并且避免了CLR问题。