【问题标题】:dynamic loading in silverlightSilverlight 中的动态加载
【发布时间】:2010-02-06 00:00:11
【问题描述】:

我会在这里稍微解释一下我的项目。我正在尝试在 silverlight 中创建一个网站,我的目标是将所有内容存储在外部文件中,并在我的 silverlight 应用程序加载后加载它们。比如加载首页,然后在用户浏览首页的时候,在后台加载其他页面,然后当点击链接时,主要内容会淡出,新页面会淡入它的位置。我的问题是:

  1. 创建外部文件的最佳方式是什么?应该如何创建/保存它们?
  2. 如何在用户浏览时将它们加载到后台,然后在单击链接时通过淡化显示它们?
  3. 如何添加功能,以便我的 silverlight 应用程序编辑和重新保存文件,例如,将图片添加到图片库等

任何帮助将不胜感激。我的应用程序的代码隐藏在 C# 中,但我对整个 silverlight 的想法很陌生,所以在这一点上几乎任何建议都会受到欢迎!!

【问题讨论】:

  • 在我回答之前,我很好奇您可能正在考虑使用的算法来预测哪些可能导航到的其他页面应该在后台下载或者您打算下载他们都需要与否?此外,您希望通过这种行为获得什么,Xaml 本身通常不会那么大,您是否希望在淡入之前加载和呈现包含所有图像的目标页面?
  • 我的想法(尽管我非常欢迎任何更好的想法)是加载主页,如果它们被点击,一切都很好,只需淡出/淡入新页面,但是,例如,如果单击了一个非标准页面,它可能会在页面中心显示一个加载符号,同时加载所选页面。另外,我确实希望目标页面已加载并准备就绪,这样当它淡入时,它就可以完全准备好查看了。

标签: c# silverlight


【解决方案1】:

我对这种情况的建议是使用 MEF (Managed Extensibility Framework)。

它提供了动态加载.XAP基于用户交互的下载,以及其他开箱即用的功能。因此,我认为,使用 MEF 是处理按需加载内容方案的最简单方法。

【讨论】:

  • 好吧,这并不是对我的问题的真正回答,但赏金很快就会到期,我会接受你,只是因为你给了我一些东西来指引我正确的方向
【解决方案2】:

你没有提到你正在处理什么样的内容。如果是标记(markdown)和图像,应该很简单

记录每个实际的内容请求,并使用该数据对您预加载缓存的顺序进行排名。这样,系统可以自我调整。如果需要遍历复杂的路径,请考虑使用神经网络过程来确定要预加载的内容

Silverlight 使用标准的浏览器 HTTP 请求方法并因此进行缓存,因此您所要做的就是请求资源,它将被缓存

您似乎在描述一个 wiki(在 Silverlight 等中编辑页面)。考虑使用现有的 wiki 引擎,例如screwturn.eu 并自定义显示和编辑界面以通过 Silverlight 工作。这将在版本控制、资源管理、安全等方面节省大量资金

【讨论】:

  • 感谢您的回答,但我正在寻找更多细节和细节,如果没有更好的答案,在赏金结束之前我会接受您的回答。
  • 您首先需要更具体地了解内容、应用程序任务等
  • 我的想法是让所有内容都在一个文本文件中,然后图像将在一个文件夹中,比如说,在文本文件中如果 [insertimage"hello.jpg" ] 例如,它会用图像呈现文本,或者,除此之外,还会有一些 html/css 页面,可以由文件扩展名确定并以这种方式呈现
  • 不,它不是,它只是一个网站,说我希望员工能够轻松添加内容而无需完全访问文件
  • 我的意思是听起来像是一个基于 wiki 的解决方案。您的网站可能不是传统意义上的 wiki,但 wiki 引擎将是内容管理的简单起点
【解决方案3】:

类似于FFire 提到的Managed Extensibility Framework,您可能还想查看Prism V2。这里有一些资源可以帮助您入门并了解它是否适​​合您。

WPF/Silverlight - Prism - Resources for beginners

从该列表heres 中列出了有关 Silverlight、模块化、区域等的示例视频。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多