【问题标题】:Show progress indicator while downloading Prism modules ondemand按需下载 Prism 模块时显示进度指示器
【发布时间】:2010-09-03 19:40:34
【问题描述】:

我有一个使用 Prism 2.2 的 Silverlight 4 应用程序,我有一些模块,我通过在模块目录中将它们定义为按需加载(通过 xaml 文件),然后使用 ModuleManager 请求下载模块

Prism 中是否有机制来确定模块下载何时完成并获取下载进度事件?

在 prism codeplex 网站上有一个帖子,但似乎没有一个建议能被讨论的人所接受

http://compositewpf.codeplex.com/Thread/View.aspx?ThreadId=47957

谢谢 迈克尔

【问题讨论】:

  • 我在这里找到的一个可能的解决方案 - wildermuth.com/2009/07/20/Prism_s_Plugin_Architecture - 它涉及继承 XapModuleTypeLoader 并覆盖 CustomFileLoader.CreateDownloader() 方法并返回自定义 ModuleTypeLoader - 这可能会触发 prism 事件以通知其余的应用程序 - 仔细观察

标签: silverlight prism


【解决方案1】:

事实证明,关于 codeplex 的 prism 讨论中提供的解决方案非常有效

http://compositewpf.codeplex.com/Thread/View.aspx?ThreadId=47957

我创建了一个名为 FileDownloaderWithProgress 的自定义 FileDownloader。

我想继承 Prism 中现有的子类,但触发 DownloadProgressChanged 事件的 WebClient 是私有的。所以我必须通过实现 IFileDownloader 来创建自己的。

在 FileDownloaderWithProgress 类的 DownloadProgressChanged 事件处理程序中,我发布了一个 Prism 事件,其中包括完成百分比和下载的模块名称。

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 2017-01-11
    • 2011-09-29
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多