首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的Silverlight应用程序中包含来自System.Windows.Controls的特定控件?

如何在我的Silverlight应用程序中包含来自System.Windows.Controls的特定控件?
EN

Stack Overflow用户
提问于 2009-09-01 15:25:37
回答 1查看 325关注 0票数 1

微软有一个方便的System.Windows.Controls namespace and which controls are included in the runtime中各种控件的参考资料。

对于此处列出的任何未包含在运行库中的控件,您必须包含对System.Windows.Controls程序集的引用,并在Visual Studio中选择“复制本地”。这就是我目前正在做的事情,它是有效的。

然而,通过包含这个DLL,我给我的XAP文件增加了大约80KB(而我的XAP文件只有110KB)。我使用的唯一需要它的控件是GridSplitter。是否有办法重新生成仅包含GridSplitter的此程序集的精简版本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-01 15:33:20

看起来我刚刚找到了Silverlight 2的答案...

Source Code for Silverlight 2 Runtime and SDK Controls

我想这对我来说是可行的。我应该能够通过项目,从项目中排除所有不必要的部分,并进行重建。

我仍然在使用Silverlight 2,但我将在几个月后切换到3。我似乎找不到Silverlight 3的同样的东西,也许Silverlight 3的源代码还不可用?

更新:

因此,在经历了一些困难之后,我让它正常工作了。一开始,我从微软下载了源代码项目,然后就开始删除内容。但是后来我发现我不能构建这个解决方案。事实上,我也不能构建一个未经修改的解决方案版本。我收到了关于强名称验证的错误。我尝试在项目属性的" signing“部分取消选中强名称签名,但得到了相同的错误。我甚至将程序集添加到强名称验证跳过列表中,最终克服了这个错误。但是当我试图在我的Silverlight项目中包含新的程序集并在浏览器中运行它时,我得到了一个空白屏幕( Silverlight控件从未加载过)。我仍然不确定为什么,但我确定我遗漏了什么。

最后,我创建了一个全新的项目。看起来我应该从一开始就这么做。我只需要为GridSplitter创建一个空的C# Silverlight类库。然后,我开始将GridSplitter所需的源文件添加到此项目中,然后将命名空间和程序集名称设置为System.Windows.Controls。在构建了这个项目,并在我的Silverlight应用程序中引用它之后,它终于工作了。结果是:节省了60 KB。

我在这里写了一些关于这方面的内容:

http://regexhero.net/blog/2009/09/optimizing-silverlight-xap-file.html

如果有人想要它们,我这里有4个来自SDK的控件...

http://www.silverlightxap.com/controls/tagged/silverlight-sdk

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1363087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档