我正在为 WPF 应用程序编写帮助系统。我想出了一个系统,内容所有者将以简化的 XML 格式构建模板,通过 IIS 中的 HttpModule 将 XSLT 转换为 XAML,生成的 XAML 页面显示在客户端应用程序的框架中。我通过视图模型向页面公开基本功能,因此可以从客户端应用程序获得命令和数据。
这很好用,但我的问题是 Frame 似乎在某处缓存 XAML。例如,如果我对 XML 进行更改,客户端会继续显示以前的 XAML。如果我在外部浏览器(IE 或 Chrome)中导航到 URI,我可以看到新的 XAML。奇怪的是,这还会导致 Frames 缓存使用新的 XAML 进行更新。
这种缓存在应用程序重新启动时仍然存在,我的开发过程是,对 XML 进行更改,导航到 IE 中的 URI,然后在客户端应用程序中导航。这很烦人,而且当它上线时我不能有这种行为。
当我在页面中导航时,我通过将 URI 分配给 Frame 的 Source 属性来做到这一点,如下所示:
instance.Frame.Source = new Uri(instance.WizardUri, instance.PageUri);
关于可能导致这种情况的任何想法?